0

上記の関数が何かを返すまで行の実行が待機するようprompt()なJavaScript 関数を書きたいと思います。confirm()

abc()たとえば、ポップアップを開いて値を返す関数があるとします。関数が呼び出された場所で実行を保持したい。

function abc(){
    //----------
    return '';
}

function abc_caller(){
    var x = abc();
    alert(x);
}

誰でもこれに関して私を助けてもらえますか?

4

3 に答える 3

0

あなたはこれのためにコールバックを使うことができます:
あなたの関数

function abc(callback){
    // whatever code here
    var result = ""; // or whatever processing result would be

    if (callback)
    {
        callback(result);
    }
}

利用方法:

abc(function(result){
    alert(result);
});

編集: @mrhoboが提案していたものに似ていると思います

于 2013-03-13T07:44:00.550 に答える
0

あなたのコードは-

function abc_caller(){
       var x = abc();
       var r=confirm("Your value is " + x);
       if (r==true)
       {
          alert("You pressed OK!")
       }
       else
       {
          alert("You pressed Cancel!")
      }
    }

http://www.w3schools.com/jsref/met_win_confirm.aspのその他の例。

これがお役に立てば幸いです。

于 2013-03-13T07:37:38.683 に答える
0

これは、ブラウザー ビルダーがユーザーに実行してほしくないことです。JavaScript の一部が一定時間内に応答しない場合、ブラウザーは何かがおかしいと考え始め、JavaScript の実行を停止するかどうかをユーザーに尋ねます。

代わりにコールバック関数を作成する必要があります。

于 2013-03-13T07:40:17.017 に答える