[英]javascript, strange function arrangement, don't understand
請參閱以下javascript。 當函數以這種方式排列時,它們如何能夠運行而不被專門調用。 我的意思是下面的函數在不被調用的情況下運行,而且我不知道該怎么做。
(j, function() {
alert(1);
})
大概是這樣的:
eval(s)(j, function() { catch (_) { } }
看起來這些是函數調用的參數,即
foo(j, function() {
alert(1);
})
這將傳遞j
的當前值作為第一個參數,並在那里列出的函數作為第二個參數。
就是說,要調用該功能(警告1的功能), foo
必須手動調用它。 遵循以下原則
function foo(j, f){
f();
}
編輯
因此,根據您的問題編輯,上面的內容看起來不太正確,除了您不是從直接引用函數而是從eval語句中獲取函數。
像這樣:
function foo(j, f){
f();
}
var s = "foo";
var j = 0;
eval(s)(j, function() {
alert(1);
})
這是一個工作場所
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.