我正在尝试在另一个函数中调用一个函数。现在,子函数具有要在警报消息中显示的值。
看看我到目前为止编写的代码:
var subFunction = function(){
var subValue = "sub value";
}
var mainFunction = function(){
subFunction();
alert(subValue);
}
mainFunction();
我收到一条错误消息,指出未定义subValue。
我想使用main函数中子函数中存在的变量的值,我该怎么做?
请提前帮助谢谢:)
答案 0 :(得分:4)
返回子功能的值
var subFunction = function(){
var subValue = "sub value";
return subValue;
}
var mainFunction = function(){
var test = subFunction();
alert(test);
}
mainFunction();
答案 1 :(得分:2)
这是范围界定的问题。变量subValue只能在subFunction中访问。您可以将此变为全局变量(可能不合适)或从subFunction返回此值,如下所示:
var subFunction = function(){
var subValue = "sub value";
return subValue;
}
var mainFunction = function(){
var sv = subFunction();
alert(sv);
}
mainFunction();
答案 2 :(得分:1)
var subValue = "";
var subFunction = function(){
subValue = "sub value";
}
var mainFunction = function(){
subFunction();
alert(subValue);
}
mainFunction();
因为此代码subValue
变量应该是类范围变量。
答案 3 :(得分:0)
问题是,你对结果有什么要求?基本上,您需要在表单中公开值,您可以使用它。
var subFunction = function () {
var subValue = "sub value";
return subValue; // <---
},
mainFunction = function(){
console.log(subFunction());
};
mainFunction();
&#13;
var subFunction = function () {
var subValue = "sub value";
returnValue = subValue; // <---
},
mainFunction = function () {
subFunction();
console.log(returnValue);
},
returnValue; // <---
mainFunction();
&#13;
var subFunction = function () {
var subValue = "sub value";
subFunction.subValue = subValue; // <---
},
mainFunction = function () {
subFunction();
console.log(subFunction.subValue);
};
mainFunction();
&#13;