die*_*and 44 javascript prototype
按照我的代码,
Apple按原型定义功能.
香蕉是通过类属性定义函数.
var Apple = function(){}
Apple.prototype.say = function(){
console.debug('HelloWorld');
}
var Banana = function(){
this.say = function(){
console.debug('HelloWorld');
}
}
var a = new Apple();
var b = new Banana();
a.say();
b.say();
Run Code Online (Sandbox Code Playgroud)
这些不同吗?
Tim*_*ers 66
当您创建多个Apple实例时,您仍然只有一个say()内存实例.但是,当您创建多个Banana实例时,最终会创建该say()函数的大量实例.
这就是原型节省内存的原因.您还可以避免创建和分配say()函数的处理成本.
此外,如果更改父对象的属性,如果子对象未替换该属性,则从子对象可以看到更改.
| 归档时间: |
|
| 查看次数: |
5713 次 |
| 最近记录: |