Javascript 这是什么意思?获取数据([renderData]);

Javascript 这是什么意思?获取数据([renderData]);,javascript,Javascript,有人能帮我理解这背后的逻辑吗 $(document).ready(function() { getData([renderData]); }); function renderData(JSON) { $.each(JSON, function(i, item) { //logic } } function getData(callBacks) { var url= '/data/data2'; $.getJSON(url, functio

有人能帮我理解这背后的逻辑吗

$(document).ready(function() {
    getData([renderData]);
});


function renderData(JSON) {
    $.each(JSON, function(i, item) {
    //logic
    }
}

 function getData(callBacks) {
    var url= '/data/data2';
    $.getJSON(url, function() {
    }).done(function(JSON) {
        if(callBacks) {
            for( var i = 0; i < callBacks.length; i++ ) {
                callBacks[i](JSON);
            }
        }       
    }).fail(function(xhr, status, error) {
        //alert(xhr.responseText);
    }); 
 }
$(文档).ready(函数(){
获取数据([renderData]);
});
函数renderData(JSON){
$.each(JSON,函数(i,项){
//逻辑
}
}
函数getData(回调){
var url='/data/data2';
$.getJSON(url,函数(){
}).done(函数(JSON){
如果(回调){
for(var i=0;i
函数renderData是否设置为自己的参数


谢谢。

它将数组中的函数
renderData
传递给另一个名为
getData
的函数

请注意,它传递函数而不调用任何东西,因此数组保存对函数的引用,而不是它的返回值,在
getData
中,可以通过访问作为参数传递的数组的第一个值来调用
renderData
函数

i、 e.
callBacks[i](JSON);//callBacks[i]是renderData


查看
getData
,这样做似乎是为了避免ajax调用/响应中的另一层嵌套,从而使代码更具可读性(一旦您理解了这一点)。

它将数组中的函数
renderData
传递给另一个名为
getData
的函数

请注意,它传递函数而不调用任何东西,因此数组保存对函数的引用,而不是它的返回值,在
getData
中,可以通过访问作为参数传递的数组的第一个值来调用
renderData
函数

i、 e.
callBacks[i](JSON);//callBacks[i]是renderData


看看
getData
,这样做似乎是为了避免ajax调用/响应中的另一层嵌套,从而使代码更具可读性(一旦您理解了这一点)。

getData
异步加载一些
JSON
,然后调用您需要的任意数量的回调(通过数组)当所有内容都加载时。任何回调都将以加载的数据作为第一个参数进行调用


在这种情况下,
renderData
是唯一给出的回调。

getData
异步加载一些
JSON
,然后在加载所有内容时调用所需的任何回调量(通过数组)。任何回调都将以加载的数据作为第一个参数进行调用


在这种情况下,
renderData
是唯一给出的回调。

没有足够的上下文来说明任何具体内容。您可以添加
getData
函数的定义,使逻辑更加清晰。@Oriol添加了getData没有足够的上下文来说明任何具体内容。您可以添加
getData
函数的定义来说明具体内容逻辑更清晰。@Oriol在调用回调函数[I](JSON)时添加了getDataso。JSON被设置为函数renderData()的参数?如果我有两个参数会怎么样?没错,您可以通过以下方式添加更多参数:
renderData(JSON,newParam1,newParam2)
等并将它们传递给回调函数,即
callBacks[I](JSON,newParam1,newParam2)这太神奇了,我不知道!我猜你每天都会学到新东西!非常感谢。所以当我调用回调函数[I](JSON)时,JSON被设置为函数renderData()的参数?如果我有两个参数呢?没错,你可以通过以下方式添加更多参数:
renderData(JSON,newParam1,newParam2)
etc并将它们传递给回调,即
callBacks[i](JSON,newParam1,newParam2);
这太神奇了,我不知道!我猜你每天都会学到新东西!非常感谢。