gpt4 book ai didi

javascript - 我应该在对象原型(prototype)中声明 javascript 对象方法吗?

转载 作者:行者123 更新时间:2023-12-02 16:49:12 24 4
gpt4 key购买 nike

我读过的所有内容似乎都倾向于在原型(prototype)声明中声明对象构造函数的方法,而不是将方法直接放入初始构造函数中。

function MyClass(name){
this.name = name;
}

MyClass.prototype.callMethod = function(){
console.log(this.name);
};

这会被推荐吗?如果是这样,像这样将该方法放入初始构造函数中有什么缺点?

function MyClass(name){
this.name = name;
this.callMethod = function(){
console.log(this.name);
};
}

我假设一个像这样简单的情况,无论哪种方式都并不重要,但是在较大对象的情况下,在这两种情况下声明方法有何含义?

最佳答案

来自Effective Javascript ,第 34 项:在原型(prototype)上存储方法:

Storing methods on a prototype makes them available to all instances without requiring multiple copies of the functions that implement them or extra properties on each instance object.

  • Storing methods on instance objects creates multiple copies of the functions, one per instance object.
  • Prefer storing methods on prototypes over storing them on instance objects.

关于javascript - 我应该在对象原型(prototype)中声明 javascript 对象方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26834337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com