我似乎無法回到正軌。我只是把一個函數的變量,並且希望以後調用它,爲它提供一個參數:函數在一個變量中,傳遞一個參數
var logic = function(itemId) {
console.log(itemId);
};
jQuery("#flipright").click(function() { logic.apply(1); });
這版畫「undefinded」。
我錯過了什麼?
我似乎無法回到正軌。我只是把一個函數的變量,並且希望以後調用它,爲它提供一個參數:函數在一個變量中,傳遞一個參數
var logic = function(itemId) {
console.log(itemId);
};
jQuery("#flipright").click(function() { logic.apply(1); });
這版畫「undefinded」。
我錯過了什麼?
直接讓logic(1)
。
如果你想傳遞一個背景下,你可以使用call
或apply
:
logic.apply(context, [1]);
// or
logic.call(context, 1);
您應該使用apply
或call
如果你想傳遞一個上下文到另一個功能 - 這意味着this
關鍵字調用的函數將參考您傳遞給它的任何環境。
這裏是一個場景:
var logic = function(itemId) {
console.log(this,itemId);
};
jQuery("#flipright").click(function() {
// output to console the current jquery object and "1"
logic.call(this,1);
});
讓它:
jQuery("#flipright").click(function() { logic(1); });
裁判爲apply
:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply
啊好:)謝謝你的鏈接! – Jem 2012-03-29 08:15:15
啊,對:-)謝謝! – Jem 2012-03-29 08:14:54