问:为什么第一个报错了,第二个却没有
答:
首先 方法toString 是挂靠在Object上的(即Object的原型上的一个方法),
第一个 32 只是一个十进制的数字,不是一个对象,是没有任何方法的,
第二个 var a = 32; 实际上是调用了 Number 创建的对象,而这个对象可以通过原型链找到Object的原型上的toString 方法。
总结: js 一切皆对象
问:为什么第一个报错了,第二个却没有
答:
首先 方法toString 是挂靠在Object上的(即Object的原型上的一个方法),
第一个 32 只是一个十进制的数字,不是一个对象,是没有任何方法的,
第二个 var a = 32; 实际上是调用了 Number 创建的对象,而这个对象可以通过原型链找到Object的原型上的toString 方法。
总结: js 一切皆对象