2012-03-01 13 views
7

JSLint continua a darmi il seguente errore ogni volta che la definizione di 2 funzioni:errore JSLint "Unexpected Var"

problema alla linea __ carattere _: Unexpected 'var'.

Ho provato a dichiarare tutti i vars all'inizio dello script ma questo non risolve il problema. Ho cercato di scavare nel web per una risposta, ma non riesco a trovarne uno.

var walk = function walker(node, func) { 
    //code 
} 

var disp= function display(){ 
    //code 
    return d; 
} 
+2

JSLint potrebbe lamentarsi della mancanza dei "punti-punto" – xandercoded

+0

non è necessario aggiungere un nome di funzione quando lo si è appena inserito in una variabile. la variabile serve come nome. – Joseph

+1

JSHint ti dice di: http://www.jshint.com/reports/215010 – sransara

risposta

6

provarli dichiarando in questo modo:

var walker = function (node, func) { 
    //code 
}; 
var display = function() { 
    //code 
    return d; 
}; 

Il problema:

var walk = function walker(node, func) { 
    //code 
}; 

è JSLint aspetta walk essere sia assegnata una funzione o il risultato della funzione. Se si desidera assegnare una funzione alla variabile, il nome della variabile diventa un alias della funzione. Per rendere felice JSLint, dovrebbe essere una funzione anonima.

+0

Forse, ma la domanda è come rendere felice JSLint. Lingua modificata nella risposta. – pete

1

Prova questo:

var walk = function(node, func) { 
    //code 
}; 

var disp = function(){ 
    //code 
    return d; 
}; 

In JavaScript, la funzione è una variabile con nome utilizzato sul lato sinistro della cessione.

+0

@Xander Tuttavia, dichiarare le funzioni con nome non comporta la restituzione di un oggetto funzione, quindi non posizionarlo sul lato destro di un compito. – dragon

2

Hai dimenticato un punto e virgola dopo la prima dichiarazione.

+0

scusate, il codice effettivo ha il punto e virgola dopo la prima dichiarazione- lo è mancato durante la copia su – user1243918

+2

@ user1243918 Forse modifichereste la domanda per riflettere questo? Sembra esserci una certa confusione qui su quale sia il vero problema. –

Problemi correlati