我可以发送key:value in function作为jquery中的参数吗?

时间:2016-09-21 13:12:55

标签: javascript jquery

我试图在我的jquery函数中发送对象,然后在我的函数中使用它的值。

function sample(i,e){
  for(prop in i) {
    console.log(i[prop]);
  }
}

我想这样调用这个函数:

sample({i:foo,e:bar});

我只在控制台上获得第一个对象值,所以我如何获得第二个对象值。

提前致谢。

3 个答案:

答案 0 :(得分:1)

致电时

sample({i:foo,e:bar});

... sample接收一个参数:具有属性ie的对象(其值取自变量的值{ {1}}和foo在传递给函数之前评估bar的时间。所以你可以循环遍历那个参数(就像在你的例子中那样,只是抛弃你不使用的{i:foo,e:bar}参数),或者直接使用这些属性。但是,您确实需要声明e变量;现在,你的代码正在成为The Horror of Implicit Globals 的牺牲品(这是我贫血的小博客上的帖子)

示例:



prop




答案 1 :(得分:0)

{i:foo,e:bar}将提供给i函数的sample变量中的第一个参数,您可以像i.ii.e

那样访问它



function sample(i){
  for(prop in i) {
    console.log(i[prop]);
  }
}

sample({i:"foo",e:"bar"});




答案 2 :(得分:0)

致电时

sample( {i:foo, e:bar} );

您正在使用属性ie

创建新对象

这个函数的定义是:

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