gpt4 book ai didi

javascript - 在 JavaScript 中是否可以有一系列包含参数的键值函数?

转载 作者:行者123 更新时间:2023-11-30 12:51:13 27 4
gpt4 key购买 nike

我在 javascript 中有一个包含一组变量的函数:

var mainFunction = function(){
this.var1 = null;
this.var2 = null;
}

有什么方法可以设置主函数以包含子函数,这样我就可以通过点符号修改这些实例变量,如下所示。

mainFunction.output()                                      // null, null
mainFunction.changeVar1("foo").output() // foo, null
mainFunction.changeVar2("bar").output() // null, bar
mainFunction.changeVar1("foo").changeVar2("bar").output() // foo, bar

和可选的(虽然我怀疑可能):

mainFunction.changeVar2("bar").changeVar1("foo").output()  // foo, bar   

最佳答案

var mainFunction = function(var1, var2) {
this.var1 = var1 || null;
this.var2 = var2 || null;
};

mainFunction.prototype.output = function() {
console.log(this.var1, this.var2);
};

mainFunction.prototype.changeVar1 = function(value) {
return new mainFunction(value, this.var2);
};

mainFunction.prototype.changeVar2 = function(value) {
return new mainFunction(this.var1, value);
};

var mfunc = new mainFunction();

mfunc.output() // null, null
mfunc.changeVar1("foo").output() // foo, null
mfunc.changeVar2("bar").output() // null, bar
mfunc.changeVar1("foo").changeVar2("bar").output() // foo, bar
mfunc.changeVar2("bar").changeVar1("foo").output() // foo, bar

Fiddle

关于javascript - 在 JavaScript 中是否可以有一系列包含参数的键值函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20897373/

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