天天看點

javaScript的原型模式

一、原型模式:

這個隻存在于函數中。

  我們在建立的每一個函數中都有一個prototype(原型)屬性,這個屬性是一個指針,指向一個對象,而這個對象的用途是包含可以有特定類型

的所有執行個體共享的屬性和方法。按字面的意思:prototype就是通過調用構造函數而建立的那個對象執行個體的原型對象。

好處:可以讓所有特定類型對象執行個體共享它所包含的屬性和方法。

注意:prototype屬性隻存在于函數中,而不是函數的執行個體對象上。執行個體對象隻是繼承原型對象相應的屬性和方法。在寫構造函數的時候,不要通過變量來定義對象本身(函數也是對象)的prototype,這樣失去了原型對象的含義(每次調用都會去覆寫這些值。)

1     <script>
 2         function People(){
 3             People.prototype.name='ok';
 4             People.prototype.age='22';
 5             People.prototype.sayHI=function(){
 6                 console.log(this.name);
 7             }
 8         };
 9         var p1=new people();
10         var p2=new people();
11         console.log(p1.age);    
12         console.log(p2.age);    
13         console.log(p1.__proto__)
14         console.log(people.prototype.constructor)
15     </script>      

 輸出:

javaScript的原型模式

學習是一種态度,堅持是質變的利器!