在每次调用方法之后,我尝试使用JavaScript更新一个全局变量。但它没有更新。我尝试的方法是,声明一个变量,并声明一个变量,通过调用一个方法来初始化它,然后尝试添加这些变量。好几次,我需要这样做。但它并没有增加。我不能用JavaScript做这个吗?
function finalResult() {
var result = "";
function addString(str1, str2) {
return str1 + str2;
}
var filter1 = addString("a", "b");
result += filter1;
var filter2 = addString("c", "d");
result += filter2;
console.log(result); // gives me -> empty string (ie the first time initialized value)
}我的预期输出是: abcd
发布于 2016-06-21 20:47:16
如果要使变量全局化,请将其声明为外部函数或将var result = "";更改为result = "";。,您的代码似乎运行良好-https://jsfiddle.net/oevr4rwm/1/。
function finalResult() {
result = "";
function addString(str1, str2) {
return str1 + str2;
}
var filter1 = addString("a", "b");
result += filter1;
var filter2 = addString("c", "d");
result += filter2;
}
finalResult();
console.log(result);发布于 2016-06-21 20:41:46
您忘了在finalResult中返回字符串。
function finalResult() {
var result = "";
function addString(str1, str2) {
return str1 + str2;
}
var filter1 = addString("a", "b");
result += filter1;
var filter2 = addString("c", "d");
result += filter2;
console.log(result) // if you want to log "abcd" to the console when you invoke the function elsewhere in your code
return result; // if you want the function to return "abcd"
}https://stackoverflow.com/questions/37954152
复制相似问题