前端面试宝典

NaN 非数字 但是typeof检测是number类型

利用NaN的定义, 用typeof判断是否为number类型,并且判断是否满足isNaN

利用NaN是唯一一个不等于任何自身的特点 n !== n

利用ES6中提供的Object.is()方法(判断两个值是否相等) n == NaN

Js中null与nudefined区别:

相同点: 用if判断时,两者都会被转换成false
不同点: number转换的值不同,Number(null)为0,Number(undefined)NaN

Null表示一个值被定义了,但是这个值是空值。
Undefined变量声明但未赋值。

For循环与map循环有什么区别

  • For 遍历对象自身的和继承可枚举的属性, 也就是说会包括哪些原型链上的属性
  • Map 方法不会对空数组进行检测,map 会返回一个新数组,不会对原数组产生影响