Строгий и нестрогий код можно смешивать. Но вы не можете использовать вызывающую сторону, даже если вызов к ней не в строгом коде. Кто-нибудь знает какой-нибудь обходной путь?
Я пробовал это:
(function strict(){
"use strict";
nonStrict();//ok
nonStrictCaller();//error :(
})();
function nonStrict(){
return 011;//Octal literals are not allowed in strict mode
}
function nonStrictCaller(){
return nonStrictCaller.caller;
}