以下代码来自一个显示分页表的简单页面。
var exviewmodel = function() {
var self = this;
self.getList = function(pagenum) {
$.getJSON("/api/v1/getList", { page: pagenum }, function(data) {
self.paginator.count(data.count);
});
};
self.paginator = new Paginator(self.getList);
};
我检查并验证了代码是否有效,并且计数在 ajax 成功的分页器中正确更新。
我觉得这很奇怪,因为仅在定义了 ajax 回调之后才初始化分页器对象。
当 JS 解释器看到像 getList 这样的函数定义时,它到底做了什么,它引用了尚未在异步回调中初始化的属性?