现在浏览器的js方法是基于es3.0 + es5.0的新增方法使用的
es3.0和es5.0产生冲突的部分叫做es5.0的严格模式
一旦启动了es5.0的严格模式,那么es3.0和es5.0产生冲突的部分就会使用es5.0的处理方法
es5.0的启动模式,并且在代码的最上面(可以使用在函数当中,但是也必须要写在顶端,否则无法识别),推荐使用在函数中
'use strict'
在es3.0里面可以使用arguments.callee,但是es5.0就不能使用了
不允许使用的方法:
with(){}
with(参数){},会将参数插入到其作用域链的最顶端
caller,callee,arguments也都不能使用
变量赋值前必须声明
局部的this必须要赋值,全局的this指向window
es5不允许重复的属性和参数
es3
es5
eval() ,能把字符串当做代码来作用
但是别使用eval,es3也别使用,会根据不同的情况改变作用域(太恐怖了,eval is 魔鬼)