建構式中的方法每當new一個物件的時候,就會創建一個建構式里的方法,如果多個實體物件就會創建多個方法,占用記憶體,沒有提高代碼的復用性;
將方法定義到建構式的原型物件里,創建多個實體物件而共享一個方法,方法創建了一次,
<script>
function Persion(name, age) {
this.name = name;
this.age = age;
//在建構式里定義方法
this.sing = function () {
console.log("I can sing");
}
}
var p1 = new Persion("jack", 12);
var p2 = new Persion("tom", 13);
console.log(p1.sing === p2.sing);//false
function Persion2(name, age) {
this.name = name;
this.age = age;
}
//在建構式的原型物件里定義方法
Persion2.prototype.sing = function () {
console.log("I can sing");
}
var p3 = new Persion2("jack", 12);
var p4 = new Persion2("tom", 13);
p3.sing();//I can sing
p4.sing();//I can sing
console.log(p3.sing === p4.sing);//true
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/100531.html
標籤:JavaScript
上一篇:Promis.then()
