将javascript函数返回的值赋给变量
我有一个返回字符串的函数,我需要多次调用该函数并将结果放入变量中 我有这个:将javascript函数返回的值赋给变量,javascript,function,variables,return-value,Javascript,Function,Variables,Return Value,我有一个返回字符串的函数,我需要多次调用该函数并将结果放入变量中 我有这个: function GetValue() { ... Do Something ... console.log(string); // displays 'string' return string; } 我试图将函数的输出赋值给另一个函数中的变量。目前我正在这样做: var theString = GetValue(); console.log(theString); // displays
function GetValue() {
... Do Something ...
console.log(string); // displays 'string'
return string;
}
我试图将函数的输出赋值给另一个函数中的变量。目前我正在这样做:
var theString = GetValue();
console.log(theString); // displays 'undefined'
console.log('targetFolder'.targetFolder);
我不明白的是,函数中的控制台输出正在显示值,但不是在将变量分配给函数的输出之后
显然,这不是将函数的输出分配给变量的方法。那我该怎么做呢
[其他信息]
很明显,我试图在示例代码中简洁明了,这只会造成混乱
下面是我需要从javascript文件的其他地方多次调用的完整函数:
/*
* Build URL link
*/
function BuildUrlTargetFolder() {
// Get the current url and remove the 'zipCodes/branchAdmin' part of it for the branch url link
var urlArray = window.location.href.split('/'),
targetLength = urlArray.length - 3,
i,
targetFolder = '';
for (i = 0; i < targetLength; i++) {
// Only add a slash after the 'http:' element of the array
if (i === 0) {
targetFolder += urlArray[i];
} else {
targetFolder += '/' + urlArray[i];
}
}
console.log('targetFolder: ' + targetFolder); // console output is the current url minus two "levels"
return targetFolder;
}
话虽如此,如何从分配给调用代码变量的函数中获取字符串?问题是这一行:
console.log('targetFolder: ' . targetFolder); // console output: "undefined"
应该是+
如前所述,您的代码相当于执行以下操作:
var theString = GetValue();
console.log(theString); // displays 'undefined'
console.log('targetFolder'.targetFolder);
换句话说,它的计算结果是字符串“targetFolder”(强制为
string
实例)的targetFolder
属性,该属性未定义。对我有效:您的控制台中有错误吗?如何创建string
?GetValue
是否在范围内?是否希望函数GetValue()的输出为字符串类型?一般来说,我认为不应该将变量命名为与类型相同的名称。考虑改变变量名“string”。还有,你有一个VAR声明……在某处做某事…部门?否则,如果变量从未声明也从未赋值,则该变量将是未定义的。@Josh,请参阅我添加到OP中的“附加信息”部分以获得澄清。Face slap!这就是当你在PHP和JS之间切换太多的时候会发生的事情!