我正在尝试在javascript中为函数添加参数,但它不能以某种方式工作。
您能告诉我,我该如何添加它们?
我的功能如下:
EventProcessor
现在,我这样做:
EventProcessor
我可以看到带有值的“abcd”和“bcd”。
但是,现在我想添加一个更多的变量(它是动态的),我该怎么做呢
我试试这个:
UnregisterEventProcessorAsync()
如何为此数组添加更多变量
答案 0 :(得分:4)
foo
是一个返回对象而不是数组的函数。所以没有任何push
方法。如果要向foo
返回的对象添加新属性,可以执行以下操作:
// keep a reference to the object that foo returns
var obj = foo();
obj["cde"] = "value3";
或使用点符号
obj.cde = "value3";
var foo = function () {
var a = {
"abc":"value1",
"bcd":"value2"
}
return a;
};
var obj = foo();
obj["cde"] = "value3";
console.log(obj);

答案 1 :(得分:1)
为什么不尝试如下:
var x = foo();
x["newProp"] = 33;
答案 2 :(得分:0)
如果没有传递参数,您可以使用rest parameter
,spread element
Object.assign()
返回a
,否则将传递的参数设置为a
对象
var foo = function foo(...props) {
var a = {
"abc": "value1",
"bcd": "value2"
}
// if no parameters passed return `a`
if (!props.length) return a;
// else set passed property at `a` object
return Object.assign(a, ...props);
};
var a = foo();
var b = foo({"cde":"value3"});
console.log(a, b);