js中with的用法及其优缺点

Posted kkkwoniu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中with的用法及其优缺点相关的知识,希望对你有一定的参考价值。

js中的with:

 

  with的语法结构为:

  with(object) {

    /* 语句 */

  }

  with主要是用来对对象取值的, 如下 所示:

 

  with(obj) {

    var newa = a;

    var newb = b;

    console.log(newa+newb);

  }

 

  该语句 等价于:

  var newa = obj.a;

  var newb = obj.b;

  console.log(newa+newb);

 

  

  with的 优点:

  当with传入的值非常复杂时,即当object为非常复杂的嵌套结构时,with就使得代码显得非常简洁。

 

 

  with的缺点:

  js的编译器会检测with块中的变量是否属于with传入的对象, 上述例子为例,js会检测a和b是否属于obj对象,这样就会的导致with语句的执行速度大大下降,性能比较差。

 

  以下方法可以同时兼顾代码简洁以及执行速度:

  var obj = company.department.group;

  var newa = obj.a;

  var newb = obj.b;

  console.log(newa+newb);

  

以上是关于js中with的用法及其优缺点的主要内容,如果未能解决你的问题,请参考以下文章

比較JS合并数组的各种方法及其优劣

js的三种继承方式及其优缺点

Seajs是什么及其优缺点&如何使用?

js中实现继承的不同方式以及其缺点

Java反射机制

认识Vue.js+Vue.js的优缺点+和与其他前端框架的区别