问题描述
下图中,为什么第一个报错了,第二个却没有?
答案
首先 方法toString 是挂靠在Object上的(即Object的原型上的一个方法),
第一个 32 只是一个十进制的数字,不是一个对象,是没有任何方法的,
第二个 var a = 32; 实际上是调用了 Number 创建的对象,而这个对象可以通过原型链找到Object的原型上的toString 方法。
总结
js 一切皆对象
下图中,为什么第一个报错了,第二个却没有?
首先 方法toString 是挂靠在Object上的(即Object的原型上的一个方法),
第一个 32 只是一个十进制的数字,不是一个对象,是没有任何方法的,
第二个 var a = 32; 实际上是调用了 Number 创建的对象,而这个对象可以通过原型链找到Object的原型上的toString 方法。
js 一切皆对象
本文标题:js 一切皆对象
文章作者:水中熊
发布时间:2018年06月11日 - 17:06
最后更新:2018年06月11日 - 18:06
原始链接:https://shuizhongxiong.github.io/js-allIsObject.html
许可协议: 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。 转载请保留原文链接及作者。
微信支付
支付宝