【发布时间】:2013-11-02 06:46:49
【问题描述】:
var currentbutton = {};
function setPreset(obj) {
try{
if(obj.name===name && obj.value===value){
//log.error("preset array's OID at position ["+index+"] is"+presets[index].name +" and the value stored is "+presets[index].value);
currentbutton.name=obj.name;
currentbutton.value=obj.value;
log.error("currentbutton name= "+currentbutton.name+ "currentbutton value= " + currentbutton.value );
}
else
log.error("adklafjklajkl");
}
catch(ie){
log.error("couldn't set preset");
}
presets.forEach(function(obj));
我知道我写的这段代码肯定有错误,首先,我被告知函数需要接收一个对象作为参数,我不知道如何将它传递给函数。我尝试了google,但没有找到任何有关函数是否可以接收对象作为参数的相关信息。 presets 是一个数组,其中包含具有两个属性(称为“名称”和“值”)的对象 基本上,数组 Presets 使用 forEach 遍历其枚举变量列表,并比较参数 obj 的名称和值是否与存储在数组中的任何对象相同,如果它们相同,则将当前按钮的名称和值设置为参数 obj 中的那个。然后我们将有其他功能可以在 currentbutton 上运行,我不必担心。 我知道这不是很清楚,因为我什至不确定这是否是我想要的。
【问题讨论】:
-
是的,您可以将任何内容传递给函数调用。
-
我如何将对象传递给函数呢?它应该像函数 setPreset(obj){} 吗?
-
当然可以。
setPreset({name:"hello", value:"world"})。请注意,您的forEach循环完全搞砸了。 -
最后一行代码没有任何意义。
-
您是否缺少右括号?
forEach调用是否应该在setPreset的定义内?
标签: javascript arrays object arguments