物件實現方法的幾種方式:
1、當前建構函式構造出的例項可用
2、當前例項可用
3、當前建構函式構造出的例項可用
4、所有例項可用
5、所有例項可用
記:1、只有函式才有 prototype 屬性,該屬性是乙個物件
2、所有例項的 __proto__ 都指向建構函式的 prototype 屬性
3、object.prototype 是原型鏈的頂端:object.prototype.__proto__ // null
4、object 本身是建構函式,繼承自 function.prototype
5、function 也是物件,也繼承自 function.prototype
6、乙個先有雞還是蛋的問題
哈哈哈,這問題好玩不!
附張圖:
直觀圖
source:
原型 和 原型鏈
每乙個js物件 null除外 都和另乙個物件相關聯。另乙個 物件就是我們熟知的原型,每乙個物件都從原型繼承屬性。所有通過物件直接量建立的物件都具有同乙個原型物件,並可以通過js object.prototype 獲得對原型物件的引用。通過關鍵字new和構造函式呼叫建立的物件的原型就是建構函式的 pr...
原型和原型鏈
原型鏈 例項物件與原型之間的連線,叫做原型鏈 function human human.prototype.age 22 var a new human console.log a.age 這裡的age掛載到了human的原型上面了。其實原型就是乙個物件。a為什麼能找到原型上面的物件呢?這裡例項物件...
原型和原型鏈
建構函式 function foo name age function 其實是 var a new object 的語法糖 var a 其實是 var a new array 的語法糖 function foo 其實是 var foo new function 的語法糖 new乙個物件的過程 建立乙...