首页 > 代码库 > javascript prototype

javascript prototype

 1 <script> 2 var Person=function(){} 3 var p=new Person(); 4 console.log(p.__proto__==Person.prototype)//true 5 //创建对象的三个步骤 6 /** 7 *1.var p={} 8  2.p.__proto__=Person.prototype 9  3.Person.call(this);10 */11 Person.prototype.say=function(){console.log("person say")}12 /**13 每个对象内部都存在一个__proto__,当我们访问一个属性的时候,如果内部14 不存在,则会去__proto__去找,而__proto__又会去她自己的__proto__去找15 默认__proto__不公开,火狐是例外16 */17 //p.say();18 //复杂例子19 Person.prototype.salary=5000;20 var Programmer=function(){};21 Programmer.prototype=new Person();22 Programmer.prototype.writeCode = function () {23             console.log("programmer writes code");24         };25 Programmer.prototype.salary=500;26 27 p=new Programmer();//p.__proto__==Programmer.prototype p.__proto__.__proto__=Person.prototype28 p.say();29 p.writeCode();30 console.log(p.salary);31 //通过prototype可以实现javascript的继承32 33 </script>

 

javascript prototype