我知道不应该这样做,把它当作一个学术问题。
如果我要连接几个 JavaScript 文件,有的'use strict';
在顶部,有的没有,结果会是什么?
我知道如果你把这个短语放在文件的顶部,它会为整个文件启用严格模式,如果它位于函数的开头,它的作用域就是该函数。
但是,如果第一个'use strict';
在中途怎么办?我想您也可以将此探索外推到函数范围的用途。
会吗?
- 没有效果,
- 为整个文件启用严格模式,或
- 以某种方式仅对代码的剩余长度启用严格模式?
例如
/*from file1.js*/
function bob() {
willThisError = 'because of use strict mode below?';
}
/*from file2.js*/
"use strict";
function bob2() {
var thisAuthor = 'likes to enable strict mode';
}
或者
//midway through function
function test() {
willThisError = '?';
'use strict';
var orWillIt = 'have no effect';
}
我想我可以自己测试它,但我对规范参考或其他东西感兴趣,而不是陷入浏览器对严格模式声明的个人解释。