gpt4 book ai didi

javascript - JS : How to do function. 函数(参数).函数?

转载 作者:搜寻专家 更新时间:2023-10-31 23:31:44 25 4
gpt4 key购买 nike

感谢阅读。

所以我正在开发我的第一个 node.js 应用程序。我对 javascript 比较熟悉,但还不够。

我已经声明了一个 FOO 类,其中包含一个名为 bars(index, value} 的方法,该方法接受 2 个参数。为了使用它,在创建实例后,我具有以下 fooInstance.bars(3, 2)

我想以不同的方式调用此方法。如何更改我的 FOO 定义,以便我可以像这样使用它 fooInstance.bars(3).value

我当前的代码如下

var util = require('util'),
events = require('events');

var FOO = function(opts) {
this.ipAddress = opts.ipAddress;
this.port = opts.port;
};

FOO.prototype = new events.EventEmitter;
module.exports = FOO;

FOO.prototype.bars = function (index, value) {
switch(index) {
case 1:
console.log("Apple " + " at " + value)
break;
case 2:
console.log("Banana, " + " at " + value)
break;
case 3:
console.log("Cherry, " + " at " + value)
break;
case 4:
console.log("Date, " + " at " + value)
break;
default:
break;
}
}

提前致谢!

最佳答案

它叫做 Method Chaining或者有时 Fluent interface . “链接”背后的主要思想是作为结果返回一个对象(通常是self),从而可以直接调用返回值。

我从 here 复制了一个示例代码(属性转到原作者)返回 self 作为返回值。

var obj = {
function1: function () {
alert("function1");
return obj;
},
function2: function () {
alert("function2");
return obj;
},
function3: function () {
alert("function3");
return obj;
}
}


obj.function1().function2().function3();

对于您的 FOO 实现,尝试在 bars 函数的末尾返回 this

FOO.prototype.bars = function(index,value){
// your previous code here;
this.value = value;
return this;
}

关于javascript - JS : How to do function. 函数(参数).函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24567391/

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