变量
1.变量名必须先声明再使用。
2.不能随意删除已声明好的变量。
this指向问题
3.严格模式下全局作用域中的函数中的this指向是undefined(全局作用下的this指向依然是window)。
4.严格模式下,如果构造函数不加new 来调用,会报错。
5.定时器的this还是指向window。
6.事件、对象里面的this还是指向调用者。
函数变化
7.函数不能有重名的参数。
8.不允许在非函数的代码块内声明函数。
"use strict";
if (true) {
function f() { } // !!! 语法错误
f();
}
for (var i = 0; i < 5; i++) {
function f2() { } // !!! 语法错误
f2();
}
function baz() { // 合法
function eit() { } // 同样合法
}
详见严格模式

被折叠的 条评论
为什么被折叠?



