-3

私は他の誰かのコードを理解しようとしています。それはJavascriptによって書かれています。私はJqueryに精通しています。

私はそれが関数であることを知っていますが、(imaglist、sucess、hobject)のこれらのパラメーターがわかりません。助けてくれてありがとう。

var mystuff = new Object();

var all_done = function (imagelist,success,hobject){
  //alert(success);


mystuff = imagelist.list;

}
4

4 に答える 4

2

技術的には、これは単なる関数であり、imagelist、success、およびhobjectをパラメーターとして使用します。だからあなたはそれを次のように呼ぶでしょう:

all_done(anImagelist, somethingRepresentingSuccess, myHobject)

ただし、この場合、all_doneはコールバック関数のように見えます。この関数は、何か(ここには示されていません)が終了したときに呼び出されます。imagelist、success、およびhobjectはコールバック変数であり、コールバックが割り当てられている関数の結果です。

次のようなajax呼び出しがあるとしましょう:

$.ajax({
   type: "POST",
   data: something,
   success: all_done
});

これで、ajax呼び出しが完了すると、3つあると仮定して、その結果がall_doneに渡されます。これがajax呼び出しで可能かどうかさえわかりませんが、重要なのはアイデアです。したがって、ajax呼び出しが完了mystuffすると、imagelist.listに設定されます。

于 2012-08-01T17:39:55.180 に答える
1

imagelistこれは、3つのパラメーター( 、、、successおよび)を受け入れる関数hobjectです。あなたはそれを呼び出すことができますall_done(some_list, some_state, some_object);

これは基本的に次のような関数を書くのと同じです。

function all_done(imagelist, success, hobject) {
  // ...
}
于 2012-08-01T17:40:06.870 に答える
1

あなたはあなたmystuff Objectが望むどんなプロパティでも付けることができるあなたを持っています。次にall_done、受信する関数を格納する関数がimagelist,success,hobjectあり、その関数がトリガーされると、属性をimagelist含める必要があるオブジェクトでもあるため、送信した関数はすべてトリガーされます。listmystuff Object

于 2012-08-01T17:40:47.557 に答える
0

Not sure, but it stores a function into a variable named all_done. If the all_done function was called right after the code you posted, then mystuff becomes imagelist.list:

    var imagelist = {list:"myList"};
    var mystuff = new Object();
    var all_done = function (imagelist,success,hobject){
    //alert(success);
    mystuff = imagelist.list;
    }
    all_done(imagelist,true,null);
    alert(mystuff==imagelist.list);//should alert true
    alert(mystuff);//should alert myList
于 2012-08-01T17:48:08.540 に答える