我在 if/else
block 中定义一个名为 htmlARR
的变量。如果我注释掉 else
block 中的变量,它会显示 undefined,但如果我不注释掉它,它会显示结果。
注意:我也不能将变量的范围包含在其他内容中。
coffeeAllColGenHTML : function (allData, more) {
console.log("WATER" + allData.WATER);
console.log("providerWATER" + allData.PROVIDER_WATER);
if (more) {
var htmlArr = [];
htmlArr.push(allData.COFFEE_DISH, "<br/><span class='sub-detail'>", allData.WATER, "</span>");
return htmlArr.join("");
} else {
/* this line */ //var htmlArr = [];
htmlArr.push(allData.COFFEE_DISH, "<br/><span class='sub-detail'>", allData.PROVIDER_WATER, "</span>");
return htmlArr.join("");
//return allData.COFFEE_DISH;
//console.log(allData.COFFEE_DISH);
}
},
最佳答案
您需要确定变量声明的范围:
coffeeAllColGenHTM: function (allData, more) {
console.log("WATER" + allData.WATER);
console.log("providerWATER" + allData.PROVIDER_WATER);
var htmlArr = [];
if (more) {
htmlArr.push(allData.COFFEE_DISH, "<br/><span class='sub-detail'>", allData.WATER, "</span>");
return htmlArr.join("");
} else {
htmlArr.push(allData.COFFEE_DISH, "<br/><span class='sub-detail'>", allData.PROVIDER_WATER, "</span>");
return htmlArr.join("");
//return allData.COFFEE_DISH;
//console.log(allData.COFFEE_DISH);
}
},
关于javascript - if else 变量作用域在 js 的 else 中显示未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237656/