2013-09-08 13 views
9

devo codice come questo (che annulla le chiamate Ajax):Valore 'e' può essere sovrascritto in IE 8 e precedenti

if (requests.length) { 
    for (i=requests.length; i--;) { 
     var r = requests[i]; 
     if (4 !== r.readyState) { 
      try { 
       r.abort(); 
      } catch(e) { 
       self.error('error in aborting ajax'); 
      } 
     } 
    } 
    requests = []; 
    // only resume if there are ajax calls 
    self.resume(); 
} 

e jshint errore spettacolo:

Value of 'e' may be overwritten in IE 8 and earlier. 

in } catch(e) { cosa quell'errore significa?

risposta

5

"Il valore di '{a}' può essere sovrascritto in IE8 e precedenti" viene generato un errore quando JSHint o ESLint incontrano un'istruzione try ... catch in cui l'identificatore di catch è il come un identificatore di variabile o funzione.
L'errore viene generato solo quando l'identificatore in questione è dichiarato nello stesso ambito del fermo.
Nel seguente esempio dichiariamo una variabile, una, e quindi utilizzare un come identificatore nel blocco catch:

var a = 1; 
try { 
    b(); 
} catch (a) {} 

Per risolvere il problema è sufficiente assicurare il vostro parametro eccezione ha un identificatore univoco per il campo di applicazione:

var a = 1; 
try { 
    b(); 
} catch (e) {} 

http://jslinterrors.com/value-of-a-may-be-overwritten-in-ie8

Problemi correlati