js函式作為函式的引數程式碼例項

antzone發表於2017-04-18

眾所周知,函式可以接收引數,看如下程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
function func(a,b) {
  return a + b;
}
console.log(func(1,3));

當然函式的引數不但可以是普通的資料,也可以是函式物件。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function func(callback) {
  callback();
}
function parm() {
  console.log("螞蟻部落");
}
func(parm);

上面的程式碼就是將一個函式作為引數進行傳遞。

通常作為引數傳遞的函式叫做回撥函式,這樣的應用比比皆是,比如定時器函式的,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
setTimeout(function () {
  console.log("螞蟻部落");
},1000)

很多初學者以後下面這個也是傳遞函式作為引數,其實是錯誤的:

[JavaScript] 純文字檢視 複製程式碼
function func(callback) {
  callback();
}
function parm() {
  console.log("螞蟻部落");
}
func(parm());

上面傳遞的是函式的返回值,而不是一個函式物件。

相關文章