浏览器运行是基于 es3.0 + es5.0的新增方法 来执行。浏览器
对于es3.0 和 es5.0 的冲突问题。 若是使用es5.0严格模式,则使用es5.0方法。不然使用es3.0方法。函数
启动es5.0模式方法:开头加上 “use strict”; 添加到页面逻辑最顶端。this
也能够添加到局部(推荐),只在局部起做用es5
es5严格模式:3d
一、不容许使用with(){};blog
with(){}函数:改变做用域,简化代码,命名空间的使用,当多人开发时,访问不一样人定义的变量。作用域
with(){}用法2开发
直接调用document中的函数。字符串
eval()函数 ,改变做用域,将字符串看作代码执行(es3.0不能使用,es5.0能够使用)it
在 es5.0 模式下,
一、with arguments.collee fuc.caller 等函数不能用。
二、变量必须先申明(es3.0中未声明直接使用的变量暗示全局变量)
三、局部this 必须先被赋值(es3.0中默认window)
四、拒绝相同的属性和参数,报错 (es3.0不报错)