以下代碼摘自《javascript語言精粹》4.7節(P32),為了方便測試我略微修改了下代碼:我的困惑:Number.method()這個方法是在什么地方定義的呢?或者說可不可以這么理解:Number下沒有method()方法,于是Number.method()實際上查找的是Number.prototype.method(),如果是第二個假設的話,那么Number.prototype.method()又是在什么地方定義的呢?第一個函數定義的可是Function.prototype.method()的呀?我把第一個函數換成Object.prototype.method()也是好使的,但是換成其他的關鍵字就不好使了,例如Number.prototype.method()就不好使了,這是為什么呢?難道說這里的Object包含Function?如果真的是包括的話,那它和typeof的object值不包含 function值,如何區分?我知道ECMAScript 有 5 種原始類型(primitive type),即 Undefined、Null、Boolean、Number 和 String,那么Function.prototype.method中的Function是什么?應該怎么稱呼?我需要搜索什么關鍵字才能學習到相關的知識點?
請教我對《javascript語言精粹》一書中“給類型增加方法”的困惑?
小唯快跑啊
2018-08-09 06:05:45