Perché questo in una funzione anonima non è definito quando si utilizza javascript in modalità rigorosa? Capisco perché questo potrebbe avere un senso, ma non sono riuscito a trovare una risposta concreta.
Esempio:
(function () {
"use strict";
this.foo = "bar"; // *this* is undefined, why?
}());
Prova in un violino: http://jsfiddle.net/Pyr5g/1/ Controlla il logger (firebug).