JS 做题小知识点

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