gpt4 book ai didi

javascript - 覆盖原型(prototype)属性或函数

转载 作者:数据小太阳 更新时间:2023-10-29 04:17:10 24 4
gpt4 key购买 nike

function Ninja(){
this.swingSword = function(){
return true;
};
}

// Should return false, but will be overridden
Ninja.prototype.swingSword = function(){
return false;
};

var ninja = new Ninja();
log( ninja.swingSword(), "Calling the instance method, not the prototype method." );

现在日志显示我是真的。这意味着 Ninja.prototype 中定义的 swingSword 已被覆盖,所以我如何覆盖构造函数或属性。??我知道优先考虑构造函数变量那么为什么需要在原型(prototype)中定义函数或属性??

最佳答案

在原型(prototype)上定义函数的原因是它可以在所有实例之间共享。这将为您节省一些内存,而不是每个实例都有自己的构造函数中定义的函数副本。

您可能感兴趣的其他一些引用资料:

Javascript when to use prototypes

http://javascript.crockford.com/inheritance.html

关于javascript - 覆盖原型(prototype)属性或函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22060748/

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