strict 모드 pragma의 범위는 ECMAScript5에서 어떤 범위입니까?ECMAScript5에서 "엄격한 사용"의 범위는 무엇입니까?
"use strict";
(JSLint 그것에 대해 불평하지 않습니다 주로 때문에) 나는이 일을하고 싶습니다 :
"use strict";
(function() {
// my stuff here...
}());
하지만 그건 다른 코드를 끊거나하지 않는다면 잘 모르겠어요. 나는,이 작업을 수행 할 수 있다는 것을 알고 범위 함수의 프라그를 할 ...
(function() {
"use strict";
// my stuff here...
}());
하지만 (이하 "엄격한"JSLint 옵션이 활성화 된 경우) 당신이 코드를 실행하고 생각하기 때문에 JSLint는 그것에 대해 불평 '엄격한 사용'을 사용 설정하기 전에
여기 내 질문이 있습니다.
"use strict";
// do some stuff
및 fileB.js : 나는 fileA.js 경우
eval(somecodesnippet); // disallowed by "use strict"
을 한 후 같은 순서로 내 HTML 페이지에 포함, 프라 그마는 파일 범위, 또는 의지됩니다 pragma가 fileB로 흘러 들어가서 eval 실행을 차단합니까?
A면 주 : Douglad Crockford의 "Javascript의 주와 미래"에 대한 프레젠테이션은 정말 훌륭했습니다. 이야기 끝에서 엄격합니다. 다음은 링크입니다 : http://www.infoq.com/presentations/The-State-and-Future-of-JavaScript –
''eval()'은 use strict로 허용되며 전역 적으로 범위가 지정됩니다. –