严格模式
- 变量
- this指向
- 函数参数;=>arguments
IE 9+ 支持严格模式
严格模式有作用范围限制;
注意: - 使用之前的函数用";;"
;;(function (){
"use strict"
...
})();
- 在严格模式之中不允许存在为全局变量
- 一旦在你使用this的时候,this不能指向window
- 非严格模式下,参数和arguments发生混用的时候,彼此会模糊不清;
function foo(a,b){
a = 10;
b = 20;
console.log(a,b)
console.log(arguments[0],arguments[1]);
}
foo(1,2);
//这里console.log(arguments[0],arguments[1]);输出本来为1,2,但是她输出了10,20.
但是在严格模式下就不会出现这种情况
- 严格模式下arguments 不允许使用callee caller