我试图在我的jquery函数中发送对象,然后在我的函数中使用它的值。
function sample(i,e){
for(prop in i) {
console.log(i[prop]);
}
}
我想这样调用这个函数:
sample({i:foo,e:bar});
我只在控制台上获得第一个对象值,所以我如何获得第二个对象值。
提前致谢。
答案 0 :(得分:1)
致电时
sample({i:foo,e:bar});
... sample
接收一个参数:具有属性i
和e
的对象(其值取自变量的值{ {1}}和foo
在传递给函数之前评估bar
的时间。所以你可以循环遍历那个参数(就像在你的例子中那样,只是抛弃你不使用的{i:foo,e:bar}
参数),或者直接使用这些属性。但是,您确实需要声明e
变量;现在,你的代码正在成为The Horror of Implicit Globals 的牺牲品(这是我贫血的小博客上的帖子)。
示例:
prop

答案 1 :(得分:0)
{i:foo,e:bar}
将提供给i
函数的sample
变量中的第一个参数,您可以像i.i
和i.e
function sample(i){
for(prop in i) {
console.log(i[prop]);
}
}
sample({i:"foo",e:"bar"});

答案 2 :(得分:0)
致电时
sample( {i:foo, e:bar} );
您正在使用属性i
和e
这个函数的定义是:
function sample(o) {
console.log(o.i); // == foo
console.log(o.e); // == bar
}
由于for
循环如何工作,这确实有效,但可能不是您所期望的:
for(prop in o) {
console.log(o[prop]);
}
// two outputs, foo and bar