谁能帮我理解这背后的逻辑?
$(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);
});
}
函数 renderData 是否被设置为它自己的参数?
谢谢。
最佳答案
它将数组中的函数 renderData
传递给另一个名为 getData
的函数。
请注意,这是传递函数而不是调用任何东西,因此数组包含对函数的引用而不是它的返回值,在 getData
中 renderData
函数可以是通过访问作为参数传递的数组的第一个值来调用。
即callBacks[i](JSON);//callBacks[i] 是 renderData
查看 getData
似乎这样做是为了避免在 ajax 调用/响应中嵌套另一层,从而使代码更具可读性(一旦您理解了它)。
关于javascript - 这是什么意思? getData([渲染数据]);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29126362/