gpt4 book ai didi

javascript - 方法是否占用 javascript 类实例中的空间?

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:51 24 4
gpt4 key购买 nike

Similar questions for other languages

考虑一个简单的类:

class Foo {
a;

constructor(value) {
this.a = value;
}

bar() {
console.log(this.a);
}
}

对于此类的每个实例,在 JavaScript 中,将消耗内存来引用 bar 方法?

如果我在 Foo 类中添加其他方法,它的实例会占用更多内存吗?

如果我需要创建很多 Foo 对象,我应该这样写:

function Foo(value) {
this.a = value;
}

function bar(fooInstance) {
console.log(fooInstance.a);
}

以上问题仅说明同一个问题:
方法是否占用类实例中的空间?

最佳答案

类方法是类原型(prototype)对象的属性,而不是每个实例的属性。每个实例只有一个对其原型(prototype)的引用,而该原型(prototype)又具有对其父类原型(prototype)的引用,依此类推。

通过搜索原型(prototype)链找到属性;这就是继承在 JavaScript 中的工作原理。

关于javascript - 方法是否占用 javascript 类实例中的空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60312446/

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