JS 做题小知识点
- 1 in [1]并不是表示数字1在不在数组里。而是表示数组中含不含有1这个索引index值。
- 1/0得到的是Infinity。isNaN(1/0)返回的是false。但是isNaN(0/0)返回的就是true
- 不支持冒泡的事件有 这些
js的全局函数指的是js的全局函数,不用依赖宿主,像alert,setTimeout等是依赖于宿主,不算全局函数。
- +"2"会变成数值2,因此1+ +"2"相当于1+2=3
console.log('Value is ' + (val != '0') ? 'define' : 'undefine'); // define 解:加号优先级高于 三目运算。低于括号。 所以括号中无论真假 加上前边的字符串都为 TRUE 三目运算为TRUE是 输出 define
- NaN是一个不确定数,所以NaN不等于NaN
- 在函数中
var a = b = 5,a是局部变量,b是全局变量
foreach不能像for使用break和continue这两个关键字,它实现break效果可以通过抛出异常的方式,实现continue的效果可以直接使用return
toString()方法,Array和Number都重写了这个方法,Number.prototype.toString(x),x表示是数字转换为x进制的字符串
数组a.forEach(function(item,index){}, 函数中this指向),forEach函数的第二个参数是参数一函数中this所指向的对象
undefined 值是由 null值派生而来,undefined == null 为 true,undefined === null 为 false