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);

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM