2016-12-02 1 views
-3
werfen

Ich habe eine Funktion unten erklärt:Javascript Funktion Typeerror

var myFun = function(func){ 
     func(); 
    } 

Wenn ich die Funktion wie unten nennen:

myFun(function(x,y){console.log(x+y)}(3,4)) 

ich das Ergebnis sehe, sondern auch eine Typeerror Angabe func immer nicht eine Funktion. Wo ich falsch liege?

Antwort

1

var myFun = function(func) { 
 
    // you need to curry a function that can be called with your arguments 
 
    return function(x, y) { 
 
    // then pass the arguments to the callback 
 
    func(x, y) 
 
    } 
 
} 
 
    
 
// now to call myFun you would use 
 
// myFun(func)(x, y) 
 

 
myFun(function(x, y) { 
 
    console.log(x + y) 
 
})(3, 4)

2

Sie übergeben das Ergebnis der Funktion an Ihre Funktion und keine Funktion. Versuchen:

myFun(function() { return (function(x,y){console.log(x+y)}(3,4)); })

+0

Warum ich bestraft werde mit negativer Bewertung. Ich bin ein Neuling für Javascript. – zilcuanu

+0

Ich habe das selbst bemerkt --- ich bin mir nicht sicher warum. Es schien mir selbst eine legitime Frage zu sein. – Dave

+0

Ich bin mir auch nicht sicher, wem ich berichten soll. – zilcuanu

Verwandte Themen