一、开启严格模式
1、为整个脚本(script标签)开启严格模式
<script>
'use strict';
// 下面的js 代码就会按照严格模式执行代码
</script>
//在立即执行函数中
<script>
(function() {
'use strict';
})();
</script>
2、为某个函数开启严格模式
function fn() {
'use strict';
// 下面的代码按照严格模式执行
}
二、严格模式的变化
1. 我们的变量名必须先声明再使用
2.我们不能随意删除已经声明好的变量
3. 严格模式下全局作用域中函数中的 this 是 undefined。
function fn() {
console.log(this); // undefined。
}
fn();
4. 严格模式下,如果 构造函数不加new调用, this 指向的是undefined 如果给他赋值则 会报错.
function Star() {
this.sex = '男';
}
// Star(); //报错
new Star(); //正常
var ldh = new Star();
console.log(ldh.sex);//正常
5. 定时器 this 还是指向 window
6. 严格模式下函数里面的参数不允许有重名