0
<!DOCTYPE html>
<html>
<body>
<script>
function useStrict(){
"use strict";
}
"use strict";
foo=10;
alert(foo);
</script>
</body>
</html>
導致沒有錯誤。結論:嚴格模式未被激活。但是,如果我刪除了功能定義:結合「嚴格使用」會發生什麼;內部功能與「嚴格使用」;在全球範圍內?
<!DOCTYPE html>
<html>
<body>
<script>
"use strict";
foo=10;
alert(foo);
</script>
</body>
</html>
我收到一個錯誤。結論:嚴格模式被激活。但是,如果我刪除"use strict"
線在全球範圍內,並保持功能:
<!DOCTYPE html>
<html>
<body>
<script>
function useStrict(){
"use strict";
}
foo=10;
alert(foo);
</script>
</body>
</html>
我沒有得到任何錯誤。結論:嚴格模式未被激活。這裏發生了什麼?
看來,當"use strict";
既在全局上下文中,又在函數中時,它們將抵消,因爲當我刪除函數時,嚴格模式確實被激活。但是,沒有"use strict";
行在全局範圍內,但在函數裏面,嚴格模式沒有被激活,這對我來說是意想不到的。如果函數調用內部的"use strict";
本身沒有激活嚴格模式,他們怎麼能在之前取消?
''嚴格使用''''表達式必須是'