页面js报错:SyntaxError:missing ; after for-loop initializer…
代码如下:
function(name){
let target;
for(let i=0;i<acctDetail.length;i++){
if(acctDetail[i].name===name){
target = acctDetail[i].value;
}
}
let arr = [name,target+"笔"];
return arr.join(":");
}
测试发现在谷歌本机的谷歌浏览器(版本69.0.3497.81)没问题,在火狐浏览器(版本28.0)中报错,错误信息如上。解决办法:将let定义的变量改成var就可以了.
function(name){
var target;
for(var i=0;i<acctDetail.length;i++){
if(acctDetail[i].name===name){
target = acctDetail[i].value;
}
}
var arr = [name,target+"笔"];
return arr.join(":");
}
分析下let和var:
ES6新增了let命令,用来声明局部变量。它的用法类似于var,但是它所声明得变量只在let命令所在的代码块内有效,而且有暂时性死区的约束。详见文章https://www.cnblogs.com/fly_dragon/p/8669057.html