[英]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.