【JS严格模式】
严格模式
应用到整个脚本
或个别函数
<!-- 为整个脚本(script)开启严格模式 -->
<script>
'use strict';
// 下面js代码就会按照严格模式执行代码
</script>
<script>
(function () {
'use strict';
})()
</script>
<!-- 为某个函数开启严格模式 -->
<script>
// 只有fn函数开启严格模式
function fn() {
'use strict';
}
function fun() {
}
</script>
严格模式中的变化
-
变量必须先用var声明,然后在使用
-
不能随意删除已经声明好的变量
-
全局作用域中函数中this指向是undefined
function fn(){ console.log(this) } fn();
-
函数不加new,this指向会报错
function Star(){ this.sex='男'; } //Star(); var ldh =new Star();
-
定时器中的this指向还是window 事件对象指向还是调用者
-
函数里不能有重名参数
-
不允许在非函数内写函数(if,for)