javascript - 前端面试题之 js哪些变量不可当作对象使用?
PHPz
PHPz 2017-04-11 09:42:54
0
5
535

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

PHPz
PHPz

学习是最好的投资!

reply all(5)
迷茫

你自己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,不过包装类型并不能当作正常对象来使用,对上述变量的属性赋值操作都是无意义的。

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

巴扎黑

undefined

因为:

  • new Date()

  • new Boolean()

  • null是一种特殊的object ; new Object()

  • NaN 是一种特殊的Number ; new Number()

左手右手慢动作

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

阿神

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

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template