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