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) 拒绝重复属性和参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值