1. 程式人生 > 實用技巧 >js顯示原型和隱示原型

js顯示原型和隱示原型

 1 <script>
 2         //定義一個建構函式
 3         function Fn() {
 4             //內部自動執行一條語句,增加prototype屬性並賦值一個空物件
 5             //this.prototype = {}  這就是顯示原型
 6         }
 7         console.log(Fn.prototype); //檢視顯示原型
 8 
 9         //新建一個例項化物件,在新建物件的時候會預設建立隱示原型屬性__proto__
10         //建立語句就是 this.__proto__ = Fn.prototype,就是把prototype屬性賦值給__proto__,所以他們倆是相等的
11 var fn = new Fn(); 12 console.log(fn.__proto__); //檢視隱示原型 13 14 //顯示原型和隱示原型的比較 15 console.log(Fn.prototype === fn.__proto__); //true 16 17 //顯示原型一般用於動態的給建構函式增加方法。因為和隱示原型是相等的,所以物件例項也可以查詢到增加的方法並直接使用? 18 Fn.prototype.test = function(){ 19 console.log('test()');
20 } 21 //通過隱示原型呼叫到顯示原型增加的方法? 22 fn.test(); 23 24 </script>

圖解: