我想在我的jquery函數中發送對象,然後在我的函數中使用它的值。我可以發送鍵:在函數中的值作爲參數在jQuery中?
function sample(i,e){
for(prop in i) {
console.log(i[prop]);
}
}
我想調用這個函數像這樣:
sample({i:foo,e:bar});
我只得到控制檯上的第一個對象的值,所以我怎麼獲得第二個對象的價值。
在此先感謝。
我想在我的jquery函數中發送對象,然後在我的函數中使用它的值。我可以發送鍵:在函數中的值作爲參數在jQuery中?
function sample(i,e){
for(prop in i) {
console.log(i[prop]);
}
}
我想調用這個函數像這樣:
sample({i:foo,e:bar});
我只得到控制檯上的第一個對象的值,所以我怎麼獲得第二個對象的價值。
在此先感謝。
當你調用
sample({i:foo,e:bar});
... sample
接收一個參數:與屬性i
和e
的對象(其值從變量foo
的值取和bar
當{i:foo,e:bar}
的在被傳遞給函數之前被評估)。所以你可以循環這個參數(就像在你的例子中做的那樣,只是拋棄你沒有使用的參數e
),或者直接使用這些屬性。不過;你確實需要聲明你的prop
變量;現在,你的代碼正在淪爲The Horror of Implicit Globals(這是我貧血的小博客上的一篇文章)。
實施例:
function sample(obj){
var key;
for (key in obj) {
console.log(key + ": " + obj[key]);
}
console.log("Direct access - i: " + obj.i);
console.log("Direct access - e: " + obj.e);
}
var foo = "this is foo";
var bar = "this is bar";
sample({i:foo,e:bar});
感謝您的解釋,現在我清楚這一點。 –
{i:foo,e:bar}
將在sample
功能的i
變量被提供給第一個參數,則可以像i.i
訪問它和i.e
function sample(i){
for(prop in i) {
console.log(i[prop]);
}
}
sample({i:"foo",e:"bar"});
當你調用
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
您的代碼有效。一切安好。有什麼問題? – eisbehr
好的,謝謝你們清除我的懷疑。 :) –
嘗試'樣品({我:'富',電子:'酒吧'});' – PeterKA