在日常开发中可能有很多不被重视但有关系着基础的知识,下面我们就来看看这几道题吧

题1

["1","2","3"].map(parseInt)

输出结果为 [1NaN,NaN]

因为parseInt需要2个参数(val,radix)单map传了3个(element,index,array)

题2

[typeof null, null instanceof Object]

输出结果为['object',false]

typeof 对原生非可调用对象始终返回 'object'

题3

[ [3,2,1].reduce(Math.pow), [].reduce(Math.pow)] ]

想想这题的输出结果为是什么勒? 是[9,0]吗?

当然不对,根据规范,在一个空数组上应用reduce会抛初始化错误的异常 TypeError

题4

Array.isArray( Array.prototype )

输出结果为 true

Array.prototype 是一个 Array

题5

var a = [0];
    if ([0]) { 
      console.log(a == true);
    } else { 
      console.log("wut");
    }

输出false

[0] 被认为是真的,但跟 true 又不等同


brian
16 声望1 粉丝