6 回答

TA貢獻1779條經驗 獲得超6個贊
(function (){
var foo=10;
var bar=2;
alert(foo*bar);
})()
這個函數定義后會自動被執行,你說的是這個意思么

TA貢獻1828條經驗 獲得超4個贊
說的是高階函數吧
/**
* 高階函數 - 操作函數的函數,可以把一個或者多個函數作為參數,并返回一個新的函數;
*/
function not(f){
return function(){ // 這里 return 的是函數哦
/*var result = !f.apply(this,arguments);
if(!result){
console.log(arguments[0]);
}
return result;*/
return !f.apply(this,arguments);
}
}
/* 數組 every 方法的回調函數,這個方法有三個參數:
* value(當前元素的值)、
* index(當前元素的索引)、
* array(數組實例)。
*/
function even(value, index, ar) {
/*var result = value % 2 === 0;
if(!result){
console.log(arguments[0]);
}
return result;*/
return value % 2 === 0;
}
var arr = [2, 5];
/**
* every 方法會按升序順序對每個數組元素調用一次傳入 callback 函數,直到 callback 函數返回 false;
* 如果找到導致 callback 返回 false 的元素,則 every 方法會立即返回 false。 否則,every 方法返回 true;
* 如果 callback 參數不是函數對象,則將引發 TypeError 異常;
* thisArg 可選??稍?callback 函數中為其引用 this 關鍵字的對象。
* 如果省略 thisArg,則 undefined 將用作 this 值。
* eg. array1.every(callback[, thisArg])
*/
if (arr.every(even)) {
console.log("All are even.");
} else {
console.log("Some are not even.");
}
if (arr.every(not(even))) {
console.log("All are odd.");
} else {
console.log("Some are not odd.");
}
添加回答
舉報