Я не нахожу здесь ничего по своему вопросу о спецификациях MDC или ECMAscript. Возможно, кто-то знает более «хитрый» способ решить эту проблему.
Я призываю «использовать строгий»
для каждого файла 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
- это не удаляемая опора, которая срабатывает при извлечении. Итак, мой вопрос: знает ли кто-нибудь способ отключить strict более "функционально"?
"use strict";
наследуется всеми функциями после его вызова. Теперь у нас есть возможность просто использовать строгий режим в определенных функциях, просто вызывая "use strict";
в верхней части, но есть ли способ добиться противоположного?