回覆列表
  • 1 # 程式豬

    首先要弄懂這個問題,你必須知道Js當中的prototype是怎麼回事。

    prototye是Js中的原型物件,在Js中一旦一建立了一個物件,那麼會自動獲得其原型物件prototype。例如:var Person = function(){....} 那麼 Person物件就自動擁有了一個prototype原型物件。原型物件透過建構函式屬性指向了物件的本身。你可以給物件新增屬性和方法,也可以給物件的原型新增屬性和方法,不同的是,在原型中新增的方法和屬性是被所有物件例項共享的。例如Object.prototye.toString() 是被任何繼承自Object物件的例項共享的。

    在Js中任何物件都繼承自Object物件,那麼Person類自然就有toString()函數了。而這個toString() 是你透過呼叫Person物件得來的,而Object.prototye.toString() 是Object原型物件自帶的,如果Person類沒有改寫toString()函式,那麼二者其實源於同根。

  • 中秋節和大豐收的關聯?
  • 喜歡數學,但我的專業對數學要求的不是很深,能不能自己學習鑽研?