Quando si esegue il seguente script in Safari (con l'ispettore aperto)Non può ispezionare variabile portata quando si utilizza la modalità rigorosa
window.onload = function() {
"use strict";
var x = 1;
debugger; // debugger will auto-break on this line
}
ottengo il seguente errore quando si chiede x
nella console pur essendo in quel punto di interruzione :
Error
message: "'with' statements are not valid in strict mode"
Rimozione della linea di "use strict";
mi consente l'accesso x
dalla console, mentre su quel punto di interruzione.
Entrambe le volte lo x
viene visualizzato sotto Scope Variables
nella barra laterale.
penso che l'errore deve essere altrove; non mi capita [utilizzando questa pagina di test] (http://jsbin.com/acagon) in Safari (non riesco a impostare il punto di interruzione, ma non ottengo alcun errore e ottengo l'output previsto). Puoi pubblicare un test completo * completo * alla domanda (e idealmente anche su http://jsbin.com o http://jsfiddle.net). –
Non riesco a metterci un dito sopra, ma qualcosa mi dice che hai una dichiarazione 'with' da qualche parte nel tuo codice ... Sto indovinando completamente qui, ovviamente ... (Btw' with' statement to throw in strict mode code.) –
hai un 'with()' nel tuo codice da qualche altra parte? con() non è piaciuto e molti lo vogliono interrotto in ECMAScript –