gpt4 book ai didi

JavaScript 方法和副本

转载 作者:行者123 更新时间:2023-12-01 03:42:00 27 4
gpt4 key购买 nike

当您在构造函数中创建一个方法时,如下所示:

var Something = function() {
this.doSomething = function() {/* do something here */};
};

每次使用 Something 构造函数创建新对象时,Javascript 都会复制 doSomething 的副本。
但是当你这样做时:

var Something = function() {

};
Something.prototype.doSomething = function() {/* Do something here */};

每次使用 Something 构造函数创建对象时,javascript 是否仍然会复制 doSomething ,或者在每个对象中都生成 doSomething 吗为了效率而引用相同的东西?

最佳答案

您可以自己轻松测试,只需运行:

var a = new Something();
var b = new Something();
console.log(a.doSomething === b.doSomething);

如果您在原型(prototype)中定义方法,console.log 应该打印 true

无论如何,对于 JavaScript 的所有内容,我建议浏览 MDN,因为它对大多数主题都提供了非常好的介绍。 CSS 和 HTML 也是如此。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain

关于JavaScript 方法和副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43808932/

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