gpt4 book ai didi

javascript - 在对象中追加或编辑函数的最快方法是什么?

转载 作者:行者123 更新时间:2023-11-30 07:04:17 25 4
gpt4 key购买 nike

我有一个这样的示例对象:

var shooter = {fire : function(){shootRightHandGun("shotgun");}}

但是假设射手找到了一把新枪,我们想为此设置射手开火功能:

{fire : function(){shootRightHandGun("shotgun"); shootLeftHandGun("handgun");}}

实现此目标的最佳/最快方法是什么?辅助函数,对象中的函数数组,任何东西。我完全乐于接受建议。

最佳答案

你不应该为此替换功能,而是单独跟踪项目,从长远来看它可能会对你有帮助。
您可能需要在代码中的不同位置引用射手持有的当前元素,进行各种检查和验证。
不要像这样替换函数。

var shooter = {
leftGun: null,
rightGun: "shotgun",

fire: function() {
if(this.rightGun != null) {
shootRightHandGun(this.rightGun);
}
if(this.leftGun != null) {
shootLeftHandGun(this.leftGun);
}
}
}

shooter.leftGun = "handgun";

您稍后可以使用适当的 setter 和 getter 轻松扩展代码,轻松添加一些额外的检查等:

getRightGun: function() { return this.rightGun; }
setRightGun: function(newRightGun) {
if(isProperGun(newRightGun)) { // some kind of a check
this.rightGun = newRightGun;
}
}

关于javascript - 在对象中追加或编辑函数的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36784517/

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