是基于javascript对象的语言?若有,请任何人解释以下行为

时间:2017-01-31 10:55:49

标签: javascript

据我所知,在基于对象的语言中,我们编写/编码的所有内容都是一个对象。但我在这里有一点疑问。 当一个简单的类型" aa"。在控制台中,我看到窗口对象的字符串可用的方法(属性)很多。 但是,如果我键入一个数字,请说出10.我不会看到同样可用的蚂蚁方法(属性)。 PFA用于图像。

提前致谢。 Screen shot of the above mentioned examples in the chrome console

3 个答案:

答案 0 :(得分:2)

  

据我所知,在基于对象的语言中,我们编写/编码的所有内容都是一个对象。

不,在基于对象的语言中,对象可以存在,但所有都不是对象。

在js中,有基本类型(如数字)和对象。您可以查看this doc from mozilla关于js的不同类型。

答案 1 :(得分:1)

正如评论中所述"aa"String的一个实例,因此Chrome开发者工具中的智能感知将列出String的实例方法。

虽然10Number类型的实例,但它的行为并不完全相同。

EG。 10.toString()因“未捕获的SyntaxError:无效或意外的令牌”而失败。

但是(10).toString()确实有效。但没有智能感知。

总结:JavaScript中有一些解析奇怪(字面值并不总是名义上等效的内置类型的实例,并非并非所有工具在所有情况下都支持100%一致。

答案 2 :(得分:0)

如果您尝试将其分配给任何变量,则为对象。 但是当你输入“。”它可以是数字的十进制值。