问:为什么第一个报错了,第二个却没有
答:
首先 方法toString 是挂靠在Object上的(即Object的原型上的一个方法),
第一个 32 只是一个十进制的数字,不是一个对象,是没有任何方法的,
第二个 var a = 32; 实际上是调用了 Number 创建的对象,而这个对象可以通过原型链找到Object的原型上的toString 方法。
总结: js 一切皆对象
本文解释了JavaScript中toString方法的工作原理。重点分析了为何直接作用于基本类型与通过变量间接调用会有不同的行为表现,揭示了JavaScript中一切皆对象的概念。
问:为什么第一个报错了,第二个却没有
答:
首先 方法toString 是挂靠在Object上的(即Object的原型上的一个方法),
第一个 32 只是一个十进制的数字,不是一个对象,是没有任何方法的,
第二个 var a = 32; 实际上是调用了 Number 创建的对象,而这个对象可以通过原型链找到Object的原型上的toString 方法。
总结: js 一切皆对象
473

被折叠的 条评论
为什么被折叠?