[英]JavaScript function as argument of function on a variable?
這是我所擁有的:
function verificarNumero(test, num) {
return (test(num));
};
var resultadoTesteMultiplos = verificarNumero(function (num){return (num % 10 == 0);}, num1);
應該使用此函數來查找數字是否為10的倍數。我知道可以使用更簡單的方法,但是我真的很想完成這項工作。
我希望能夠做類似console.log(resultadoTesteMultiplos(10));
事情console.log(resultadoTesteMultiplos(10));
但是控制台返回“ resultadoTesteMultiplos不是函數”,並且“ num1未定義”。
我究竟做錯了什么?
聽起來你想咖喱,但只有一半:
function verificarNumero(test) {
return function(num) {
return test(num);
};
}
var resultadoTesteMultiplos = verificarNumero(function(num) {
return (num % 10 == 0);
});
console.log(resultadoTesteMultiplos(10));
如果定義num1
變量,則代碼應該可以工作,並且resultadoTesteMultiplos
的類型為boolean
。 請參見下面的工作片段:
var num1 = 10; function verificarNumero(test, num) { return (test(num)); }; var resultadoTesteMultiplos = verificarNumero(function(num) { return (num % 10 == 0); }, num1); console.log(typeof resultadoTesteMultiplos); console.log(resultadoTesteMultiplos);
從verificarNumero
返回一個函數,而不是該函數的結果。
function verificarNumero (cb) {
return function (num) {
return cb.apply(this, [num]);
}
};
resultadoTesteMultiplos = verificarNumero(function (num) {
return (num % 10 == 0);
};
console.log(resultadoTesteMultiplos(10));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.