Perché questo in una funzione anonima non definita quando si utilizza javascript in modalità rigorosa? Capisco perché questo abbia senso, ma non sono riuscito a trovare alcuna risposta concreta.Perché "questo" in una funzione anonima non è definito quando si utilizza strict?
Esempio:
(function() {
"use strict";
this.foo = "bar"; // *this* is undefined, why?
}());
di prova in un violino: http://jsfiddle.net/Pyr5g/1/ Scopri i logger (Firebug).
Si noti che questo non ha nulla a che fare con le funzioni anonime, ma il metodo di chiamata. Vedi [questo violino modificato] (http://jsfiddle.net/Pyr5g/3/) (guarda nel log della console). – Phrogz
@Phrogz: questo potrebbe essere il motivo di confusione. Grazie per la segnalazione. –