2017-08-16 1 views
0

Je reçois des erreurs de syntaxe vraiment bizarres [Uncaught SyntaxError: Identificateur inattendu] pour un code apparemment normal.Erreur de syntaxe bizarre pour les lignes de commentaire

Obtenir une erreur si je vous écris quoi que ce soit après la 1ère ligne dans le bloc else ..

if (classlist.length == 0) {  
     lastClickCatID = -1; 
} 
else { 
    lastClickCatID = +classlist.value.split('-')[1]; 
    // **Getting error if I write anything here, even for comments like this** 
} 

Obtenir l'erreur si je viens d'utiliser deux mots dans le commentaire (avec un espace entre eux). Et bien sûr, obtenir une erreur pour toutes les déclarations JS, même les journaux de la console de base.

En outre, obtenir une erreur pour une ligne console.log dans le code suivant qui a été commenté (la 4e ligne: console.log- « undo »):

// Push this data into the undo array 
undo.push([lastClickDivID, lastClickCol, lastClickRow, lastClickCatID, nextClickCatID]); 

//console.log("UNDO", undo[0][0], undo[0][1], undo[0][2], undo[0][3], undo[0][4]); // *Getting error if I include this line* 
console.log(undo.pop()); 

Obtenir une erreur ou sans l'étiquette de commentaire. Mais si j'enlève la ligne entière, ça fonctionne bien.

J'ai une autre ligne:

nextClickCatID = +id2; 

Encore une fois à obtenir des erreurs pour faire une console.log de la variable. Mais cela fonctionne très bien si je supprime le '+' et que j'utilise juste nextClickCatID = id2; '.

De plus, j'obtiens beaucoup d'autres erreurs bizarres comme ça dans cette fonction (cela deviendra trop long si je les inclue). Une idée de pourquoi je reçois des erreurs comme celles-ci pour un code apparemment normal?

+0

Pourriez-vous nous montrer un exemple plus complet de votre code - ou idéalement un exemple de l'erreur dans un extrait de votre question? –

+0

Pourquoi avez-vous un signe + devant les variables? –

+1

@N. Ivanov - Le signe + les analyse en int. Je reçois quelques erreurs même si je l'enlève complètement, ou utilise parseInt. – user3001859

Répondre

0

Je l'ai résolu. Il a fonctionné étrangement quand j'ai enlevé l'espace entre les parenthèses() et les accolades dans la fonction prête de document de jquery. Changé de ...

$(function() { 

à:

$(function(){ // with no space between the parentheses and the curly brackets 

Je veux ajouter que - il fonctionnait très bien avant avec la même structure (avec un espace entre parenthèses) tout ce temps. Mais soudainement décidé de donner une erreur aujourd'hui dans une fonction particulière. Si quelqu'un peut clarifier pourquoi c'est arrivé, ce sera toujours très pertinent.