簡體   English   中英

javascript,奇怪的功能安排,不明白

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM