我创建了一个带有onclick事件的锚点,该事件调用了JavaScript函数。 JavaScript函数返回一些值。我想在另一个JS函数中使用该值。
e.g
loading()
将返回一些值,该值将传递给另一个js函数。如何捕获并存储返回值,然后将此值传递给该函数?
答案 0 :(得分:3)
你能简单地用内部函数调用外部函数吗?
function outerFunc(a)
{
alert(a);
}
function innerFunc()
{
return 'test';
}
onclick="outerFunc(innerFunc());"
或者,如果您需要在另一个事件中使用返回值,请设置变量。
var retval;
function outerFunc()
{
if(retval) alert(retval);
}
function innerFunc()
{
retval = 'test';
return retval;
}
onclick="return innerFunc();"
在另一个onclick事件中
onclick="return outerFunc();"
答案 1 :(得分:0)
a)使用global variable例如(also)
var passVar=null;
function A(){
//set value
passVar='hello';
}
function B(){
//get value
alert(passVar);
}
b)如果您的函数位于消耗存储值的另一页面上,您可能正在使用setItem(),getItem()和浏览器的更多高级功能来使用b rowser session storage机制
答案 2 :(得分:0)
您在评论中提到要保存以供日后使用。您可以使用JavaScript函数是闭包的事实,因此可以访问在同一范围内声明的局部变量:
var clickedValue; // No need to set a value here, just declare is
myAnchor.addEventListener('click',function(evt){
// Call the other function, setting the 'this' scope to be the anchor
// The scope of the variable set it the one above
clickedValue = someFunction.call(myAnchor,evt);
},false);
/* later on… */
otherFunction(clickedValue);
答案 3 :(得分:-1)
这样的东西?
<a onClick="loading(myFunction());">
如果myFunction()
是您的原始onClick代码,则之后会传递给loading
。