0

以下代码来自一个显示分页表的简单页面。

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 这样的函数定义时,它到底做了什么,它引用了尚未在异步回调中初始化的属性?

4

1 回答 1

1

当 JS 解释器看到像 getList 这样的函数定义时,它到底做了什么,它引用了尚未在异步回调中初始化的属性?

它去。“这是一个函数,OK”。

只有当函数被调用时,它才会尝试访问的变量才有意义。

于 2013-04-17T14:32:55.410 回答