Считалось, что хорошая практика заключается в использовании функции самозапускания для привязки строгого режима к коду, часто называемого прагмой строгого режима:
(function(){
"use strict";
// Strict code here
}());
Мой вопрос в том, как объявить глобальные переменные в этом случае? Три альтернативы, которые я знаю сегодня:
Альтернатива 1:
var GLOB = {};
(function(){
"use strict";
}());
Альтернатива 2:
(function(){
"use strict";
window.GLOB = {};
}());
Альтернатива 3:
(function(win){
"use strict";
win.GLOB = {};
}(window));
Любые предпочтения и мотивации? Другие варианты?