-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

它是一个接受三个参数(imagelistsuccesshobject)的函数。你可以调用它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也是一个必须包含该属性的对象,list它将附加到mystuff Object

于 2012-08-01T17:40:47.557 回答
0

不确定,但它将一个函数存储到一个名为 all_done 的变量中。如果在您发布的代码之后立即调用了 all_done 函数,那么 mystuff 将变为 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 回答