3

JavaScript 関数を呼び出す onclick イベントでアンカーを作成しました。JavaScript 関数は何らかの値を返します。その値を別の JS 関数で使用したい。

たとえば loading()、別のjs関数に渡される値を返します。戻り値をキャプチャして保存し、この値をその関数に渡すにはどうすればよいですか?

4

4 に答える 4

5

内側の関数で外側の関数を単純に呼び出すことはできますか?

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();"
于 2012-04-07T11:39:27.047 に答える
0

a)グローバル変数を使用する例(また

var passVar=null;

function A(){
  //set value
  passVar='hello';
}

function B(){
  //get value 
  alert(passVar);
}

b)関数が保存された値を消費している別のページにある場合、 setItem() 、 getItem() 、およびブラウザーのより高度な機能を使用して、ブラウザーセッションストレージ メカニズム を使用している可能性があります

于 2012-04-07T13:19:56.740 に答える
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);
于 2012-04-07T13:20:28.583 に答える
-1

このようなもの?

<a onClick="loading(myFunction());">

元の onClick コードの場合myFunction()は、loading後で渡されます。

于 2012-04-07T11:38:36.030 に答える