在你的代碼中,你似乎試圖聲明兩個函數,一個名爲myfun
,它有兩個參數,一個匿名函數(匿名函數),它接受一個參數。您的代碼中似乎有兩個語法錯誤:(1)函數myfun
沒有函數體,(2)您在參數列表myfun
中聲明函數。
讓我們通過聲明兩個功能第一(給第二個名稱,並給予myfun
函數體)接近這個:
function myfun(x, functionToBeCalled) {
functionToBeCalled(x);
}
function functionToBePassed(x) {
console.log("Value of x is: "+ x);
}
現在,我們可以調用函數myfun
並把它傳遞兩個參數,一個
myfun(2, functionToBePassed);
如果你想在第二個功能是:對x
和函數值內myfun
—功能functionToBePassed
被稱爲匿名過去了,聲明此功能,當您通話功能myfun
,而不是當你聲明myfun
:
//declare myfun
function myfun(x, functionToBeCalled) {
functionToBeCalled(x);
}
//call myfun and pass a function as an argument
myfun(2, function(x) {
console.log("Value of x is: "+ x);
});
功能參數應遵循相同的語法變量名。功能的身體也在哪裏? –
你有它向後。作爲第二個參數,匿名函數需要進入myfun()調用中。定義需要是:'function myfun(x,f){f(x); }' –