我尝试在每次调用方法后使用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
答案 0 :(得分:0)
您忘记在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"
}
答案 1 :(得分:0)
如果要将变量设为全局变量,请将其声明为函数外部或将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);