2013-03-21 13 views
29

erhalte ich die Fehlermeldung:JavaScript: Syntaxerror: fehlt) nach Argumentliste

SyntaxError: missing) after argument list 

Mit diesem javascript:

var nav = document.getElementsByClassName('nav-coll'); 
for (var i = 0; i < button.length; i++) { 
    nav[i].addEventListener('click',function(){ 
      console.log('haha'); 
     } 
    }, false); 
}; 

Was bedeuten diese Fehler?

Antwort

33

Sie haben eine zusätzliche Schließ } in Ihrer Funktion.

var nav = document.getElementsByClassName('nav-coll'); 
for (var i = 0; i < button.length; i++) { 
    nav[i].addEventListener('click',function(){ 
      console.log('haha'); 
     }  // <== remove this brace 
    }, false); 
}; 

Sie sollte wirklich so etwas wie JSHint oder JSLint zu helfen, verwenden diese Dinge zu finden. Diese Tools integrieren mit vielen Editoren und IDEs, oder Sie können nur ein Codefragment in die oben genannten Websites und fragen Sie nach einer Analyse einfügen.

+0

Für mich war es ein ";" nach meiner Funktion nah}, aber deine Antwort hat geholfen, es zu finden. Installierte JSLint und sah auf Fehler –

10

Sie haben eine extra } viele wie unten zu sehen:

für diese Dinge ist jsFiddle
var nav = document.getElementsByClassName('nav-coll'); 
for (var i = 0; i < button.length; i++) { 
    nav[i].addEventListener('click',function(){ 
      console.log('haha'); 
     } // <-- REMOVE THIS :) 
    }, false); 
}; 

Ein sehr gutes Werkzeug . Ich habe eine Geige mit ungültigem Code erstellt und wenn die TidyUp Schaltfläche es formatiert Ihren Code, der es macht deutlicher, wenn es mögliche Fehler mit fehlenden Klammern sind.


DEMO - Ihr Code in einer Geige, haben ein Spiel :)


+1

wow ... es tut mir leid es ein wirklich dummer Fehler war, ich benutze Sublime Text 2, aber ich konnte es nur nicht sehen, ich glaube, ich ... Dank schlafen werde viel! –

Verwandte Themen