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>
输出:
学习是一种态度,坚持是质变的利器!