Non capisco il modo migliore per utilizzare "let" parola chiave ...Non è possibile utilizzare la parola chiave "let" in Safari Javascript?
- In IE11 e Chrome45 posso usarlo bene
- In Safari8.0.4, come nelle versioni precedenti di Chrome, dà l'errore "uso imprevisto della parola riservata" let ""
- In Firefox la parola chiave let funziona solo all'interno di
<script type="application/javascript;version=1.7"/>
, ma questo tipo di script non è nemmeno riconosciuto come Javascript in IE11, Chrome45, Safari8.
Ecco un JSFiddle che mostra in azione: https://jsfiddle.net/p6cgtyg6/1/
Quindi - non mi dispiace che richiede agli utenti di utilizzare le versioni moderne di loro browser.
E non mi dispiace escludere Safari se onestamente non esiste alcuna versione di Safari che supporti questa parola chiave. (È proprio vero? Perché tutti passano tutto il tempo a preoccuparsi di IE quando Safari sembra molto peggio in termini ES6? Ho perso qualcosa?).
Ma come posso consentire a "let" di funzionare in Firefox senza impedire Chrome/IE? (Non ho ancora trovato link da persone che si lamentano di come il tag script di Firefox si comporta in modo diverso da Chrome e mi sarei aspettato più lamentele, quindi immagino di aver perso qualcosa di ovvio ...)
Perché la mancanza di supporto per * let * un problema? ECMA-262 6th Edition è ancora solo una bozza, molte delle sue funzionalità non sono supportate da tutti i browser. Esistono alcune funzionalità ES5 che non sono ancora supportate. – RobG
"per (var i = 0; i "). Text (c [i] .title) .click (function() {DoStuff (c [i]); }). appendTo (p); } "- questo codice si comporta in modo errato. Il codice più semplice e più pulito è usare "let" all'interno del ciclo for. Non voglio veramente scrivere il codice yuckier adesso quando ES6 è a breve distanza e la maggior parte degli annunci supportati risolverà bene il problema ... –
@LucianWischik non c'è bisogno di 'let' in quel caso, però. molti modi più semplici invece di aggiungere una dipendenza su un compilatore 6 => 5. –