Javascript(笔记20) - ES5严格模式
严格模式就是字面意义,常规没按标准写的在这种模式下就不行了;
使用字符串来声明:
为啥声明严格模式要用字符串呢,为啥不用一个函数呢?主要是为了向后兼容。
严格模式
1,不再兼容ES3的一些不规则语法,使用新的ES5规范。
2,两种用法:
2.1,全局严格模式;
2.2,局部函数内严格模式(推荐);
3,就是一行字符串,不会对不兼容严格模式的浏览器产生影响。
4,不支持的规范:
4.1,不支持 with , arguments.callee , func.caller ;
4.2,变量赋值前必须声明;
4.3,局部this必须被赋值(Person(null/undefined)赋值什么就是什么);
4.4,拒绝重复属性和参数;
不标准的函数就不讲了,以后几乎不用了。
示例:
如果只是定义在函数里面,那么外面的区域就不受限制了: