私はこれで元に戻ることはできません。私は単純に変数に関数を入れ、パラメータを与えて後で呼びたいと思っています。変数に関数を渡して、パラメータを渡します。
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);
});
それを作る:apply
ため
jQuery("#flipright").click(function() { logic(1); });
REF:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply
ああ素敵な:)リンクもありがとう! – Jem
ああ、右:-)ありがとう! – Jem