JS笔记 ( 十九 ) es5 严格模式


 
 

1. 作用

  • 现在浏览器使用的 js 是基于 es3.0 的标准外加 es5.0 的新增方法,
    但 es5.0 与 es3.0 有部分方法会发生冲突, 发生冲突时则会使用 es3.0 中的该方法的定义,
    若想在发生冲突时使用 es5.0 的对应方法的定义, 则需使用 es5.0 的严格模式.

 
 

2. 启用方式

  • 在页面的最顶端加 "use strict"即可
  • 要在页面逻辑的最顶端启用 "use strict", 否则无效

(1) 全局使用严格模式

  • 在页面的逻辑最顶端, 即代码开始前加 "use strict"

(2) 局部使用严格模式

  • 在函数{//TODO...}内的最顶端加上 "use strict"

备注

  • 该模式不再兼容 es3.0 的一些不规则语法, 使用全新的 es5.0 规范
  • 之所以是使用字符串 "use strict"来启用该模式, 是为了兼容老浏览器不能更新 es5.0 的问题,
    老浏览器识别不了 "use strict" 也不会造成任何影响

 
 

3. 禁止使用的方法和一些新规定

(1) with() 方法

  • 作用
    该方法可以改变作用域链, 让 with 里面的代码的作用域链的最顶端变成 with() 参数里面的对象,
    让该参数变成其 AO, 这个方法可以用来简化代码, 充当引用命名空间的作用

  • 语法

with(命名空间){
	//TODO....
}
  • 缺点
    该方法若在改作用域链特别长的时候会让效率变得很低

(2) arguments.callee 和 function.caller 方法都不允许使用

(3) 变量赋值前必须声明

(4) 局部 this 必须被赋值, 赋值是什么就是什么, 否则为 undefined

(5) 拒绝重复属性和参数

发布了45 篇原创文章 · 获赞 0 · 访问量 1112

猜你喜欢

转载自blog.csdn.net/leon9dragon/article/details/104030799
今日推荐