ES5严格模式 use strict

如何使用:

  1. 全局模式:

使用es5.0严格模式的前提,是在js的逻辑的最顶端 使用字符串的 “use strict";

  1. 局部模式:

局部的严格模式(在局部的逻辑最顶端使用 "use strict";),第二种方式比较灵活(推荐)。

es5.0严格模式:不再兼容es3.0的一些不规范语法,使用全新的es5.0规范。

好处

  • 消除js语法的不合理性、不严谨之处。
  • 提高代码运行的安全性。
  • 提高编译器效率,增加运行速度。

严格模式与标准模式的区别:

  • 严格模式下 隐式声明或定义变量 被禁止
  • 严格模式下 对象重名的属性 在严格模式下被禁止
  • 严格模式下 arguments.callee() 被禁用
  • 严格模式下 with() 语句
  • 严格模式下禁止 this关键字指向全局对象
  • 函数生命必须在最顶层
  • 新增关键字/保留字:
    * implements、interface、let、package、private、protected、public、yield.
  • 更多限制

1)with
with 非常强大,可以指定with(){} 后面的括号里要执行的代码体的最直接执行期上下文。
例如:

var obj = {
   name : "a"   
 }; 
var name = "B";
function c(){
   var name = "C";
   console.log(name);   //正常情况下ao为函数c,所以应该打印  C,下面使用 with方法
    with(obj){
      console.log(name)   //结果是 a  这时先查找的作用域是obj,如果obj内没有要使用的,才去沿着作用域链找!
    }
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。