我创建了一个带有调用 JavaScript 函数的 onclick 事件的锚点。JavaScript 函数返回一些值。我想在另一个 JS 函数中使用该值。
例如
loading()
,将返回一些值,该值将传递给另一个 js 函数。如何捕获和存储返回值,然后将此值传递给该函数?
我创建了一个带有调用 JavaScript 函数的 onclick 事件的锚点。JavaScript 函数返回一些值。我想在另一个 JS 函数中使用该值。
例如
loading()
,将返回一些值,该值将传递给另一个 js 函数。如何捕获和存储返回值,然后将此值传递给该函数?
你能简单地用内部函数调用外部函数吗?
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();"
var passVar=null;
function A(){
//set value
passVar='hello';
}
function B(){
//get value
alert(passVar);
}
b) 如果您的函数在另一个使用存储值的页面上,您可能正在使用 setItem() 、getItem() 和浏览器的更多高级功能来使用 b rowser 会话存储 机制
您在评论中提到要保存以备后用。您可以使用 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);
像这样的东西?
<a onClick="loading(myFunction());">
如果myFunction()
是您的原始 onClick 代码,它将被传递给loading
之后。