首页 > 前端面试题之 js哪些变量不可当作对象使用?

前端面试题之 js哪些变量不可当作对象使用?

题目如下:
js变量不可当作对象使用的是?
1.Date
2.false
3.null
4.undefined
5.NaN
不是很理解这题的意思,求助。


undefined

因为:


你自己typeof一下看看结果:

console.log(typeof Date);//function
console.log(typeof false);//boolean
console.log(typeof null);//object
console.log(typeof undefined);//undefined
console.log(typeof NaN);//number

其中function也是一种特殊的object。剩下的booleannumber, undefined是原始数据类型。

当然javascript里number也有对象类型Numberboolean也有对象类型Boolean

题目中“js变量不可当作对象使用”这话有点难理解,我也不确定在考什么。期待神人解答。


如果这道题目是考察 JS 基本类型,那么如 @leftstick 所述,只有 Date 是一个对象。
如果这道题进一步考察包装类型,那么 false NaN 有其对应的包装类型 Boolean 和 Number,不过包装类型并不能当作正常对象来使用,对上述变量的属性赋值操作都是无意义的。

所以这道题的正确解答是:这个面试者没什么水平。


这个问题没有讨论的意义,除非提问者(面试者)给出“不可当作对象使用”的准确含义。


JavaScript 中所有变量都可以当作对象使用,除了两个例外 null 和 undefined。
具体查看:http://bonsaiden.github.io/Ja...

【热门文章】
【热门文章】