Warning: mkdir(): No space left on device in /data/discuz/upload/source/class/class_core.php on line 91
JS笔记 ( 十九 ) es5 严格模式-笔记,十,九,严格,模式-IT技术擎-最棒的IT web技术交流社区-( it.techqing.com)
设为首页收藏本站

IT技术擎 - 最棒的IT web技术交流社区

 找回密码
 注册为IT技术擎人

QQ登录

只需一步,快速开始

搜索
热搜: php h5 jquery
查看: 9|回复: 0

[未分类] JS笔记 ( 十九 ) es5 严格模式

[复制链接]

2万

主题

2万

帖子

8万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
89029
发表于 2020-1-21 20:25:17 | 显示全部楼层 |阅读模式

文章目录
  • 1. 作用
  • 2. 启用方式
        • (1) 全局使用严格模式
        • (2) 局部使用严格模式
        • 备注
  • 3. 禁止使用的方法和一些新规定
        • (1) with() 方法
        • (2) arguments.callee 和 function.caller 方法都不允许使用
        • (3) 变量赋值前必须声明
        • (4) 局部 this 必须被赋值, 赋值是什么就是什么, 否则为 undefined
        • (5) 拒绝重复属性和参数


1. 作用


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


2. 启用方式


  • 在页面的最顶端加
    1. "use strict"
    复制代码
    即可
  • 要在页面逻辑的最顶端启用
    1. "use strict"
    复制代码
    , 否则无效
(1) 全局使用严格模式

  • 在页面的逻辑最顶端, 即代码开始前加
    1. "use strict"
    复制代码
(2) 局部使用严格模式

  • 在函数
    1. {//TODO...}
    复制代码
    内的最顶端加上
    1. "use strict"
    复制代码
备注

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


3. 禁止使用的方法和一些新规定
(1) with() 方法


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

  • 语法
  1. with(命名空间){ //TODO....
  2. }
复制代码

  • 缺点
    该方法若在改作用域链特别长的时候会让效率变得很低
(2) arguments.callee 和 function.caller 方法都不允许使用(3) 变量赋值前必须声明(4) 局部 this 必须被赋值, 赋值是什么就是什么, 否则为 undefined(5) 拒绝重复属性和参数

  • 点赞  

  • 收藏

  • 分享


    • 文章举报
  
leon9dragon发布了41 篇原创文章· 获赞 0· 访问量 1033 私信 关注



上一篇:zookeeper集群搭建
下一篇:盒子模型相关介绍
该用户未在地球留下任何的痕迹

本版积分规则

QQ|小黑屋|帮助|IT技术擎 ( 沪ICP备15054863号  

GMT+8, 2020-2-27 10:12

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表