和普通情况没有区别,就是对代码的规范进项限制
'use strict'
注意:
将严格模式的语句放到代码的第一行
ie8一下不支持严格模式
如果变量不适用关键字声明
'use strict'
a=10
console.log(a);//报错
删除变量
'use strict'
vara=10
deletea
console.log(a);
函数参数重名
'use strict'
functionfn(a,a){
console.log(a);
}
fn(1,2)
函数的arguments和形参绑定
'use strict'
functionfn(a){
arguments[0]=2
console.log(a);
console.log(arguments[0]);
}
自在当前作用域下生效
functionfn() {
'use strict'
a=10
}
// fn()
a=20
this指向为undefined
'use strict'
functionfn() {
console.log(this);
}
fn()