Я не нашел ничего о моем вопросе здесь, в MDC или спецификациях ECMAscript. Вероятно, кто-то знает более "хакерский" способ решить эту проблему.
Я вызываю "use strict" в каждый файл javascript в своей среде. Все мои файлы начинаются следующим образом
(function(win, doc, undef) {
    "use strict";
    // code & functions
}(window, window.document));
Теперь у меня есть пользовательская функция, которая обрабатывает ошибки. Эти функции используют свойство .caller для предоставления трассировки стека контекста. Выглядит так:
var chain = (function() {
    var _parent = _error,
        _ret = '';
    while( _parent.caller ) {
        _ret += ' -> ' + _parent.caller.name;
        _parent = _parent.caller;
    }
    return _ret;
}());
Но, конечно, в строгом режиме .caller - это недискриминационная опора, которая бросается при извлечении. Итак, мой вопрос: кто-нибудь знает, как отключить строгую более "функциональную"?
 "use strict"; наследуется всеми функциями после его вызова. Теперь у нас есть возможность просто использовать строгий режим в определенных функциях, просто называя "use strict"; в верхней части этих, но есть ли способ достижения противоположности?
