簡體   English   中英

用let將JavaScript轉換為var

[英]Transforming JavaScript with let to var

我想編寫一個程序來刪除所有的聲明let 自動在JavaScript程序。 對於像

function a(){
    "use strict"
  var a=1,b=1;
  if(true){
    let a=2;
    var b=2;
    var c=a+b;
    let d=a+b;
  } 
  alert(a);
  alert(b);
  alert(c);
  alert(d);

}
a();

我正在考慮使用立即函數來刪除let

function a(){
        "use strict"
      var a=1,b=1;
      if(true){
        (function(){
        let a=2;
        var b=2;
        var c=a+b;
        let d=a+b;
        })()
      } 
      alert(a);
      alert(b);
      alert(c);
      alert(d);

    }
    a();

也許let的范圍是正確的,但是var的范圍將變得不正確。

有什么建議嗎?

我建議您在立即調用的函數表達式之前聲明變量,如下所示:

function a(){
  "use strict"
  var a=1, b=1, c;
  if(true){
    (function(){
      let a=2;
      b=2;
      c=a+b;
      let d=a+b;
    })();
  }
  alert(a);
  alert(b);
  alert(c);
  alert(d);
}
a();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM