我知道它的工作原理。我已成功实施它。你能解释为什么这个jQuery代码有效吗?
$("#vehicle_application_product_id").autocomplete({
minLength: 2,
source: function(request, response) {
var term = request.term;
if (term in cache) {
response(cache[term]);
return;
}
lastXhr = $.getJSON("/products/get_json_list", request, function(data, status, xhr) {
cache[term] = data;
if (xhr === lastXhr) {
response(data);
}
});
}
});
我很喜欢用一些这方面的东西的脚本小子。我将永远无法编写匿名函数自己,因为以下原因:
1)这个人是怎么知道把参数“请求”,并在规范“反应”?
2)开头的行 “lastXhr =” 真的是神秘。最后还有另一个匿名函数。我意识到这可能是一个回调,这是在请求发送到指定的URL后执行的。
3)在匿名函数最后条件:
if (xhr === lastXhr) {
response(data);
}
到底是什么呢?如果那么来自这个匿名块的第三个参数xhr等于由.getJSON调用ENCOMPASSING这个匿名块返回的值,返回响应中的数据?
这真的是最困难的部分,以绕到我的头。我注意到这是3个等号。这看起来像非常高级的代码概念,我只是明白这背后的理由是为了让我可以成为一个更好的编码器。
我会接受你的建议,在该书Cymen。 – AKWF