簡體   English   中英

JavaScript函數是否作為變量的函數參數?

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

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