以下代码来自一个显示分页表的简单页面。
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成功的paginator中正确更新了计数。
我发现这很奇怪,因为只有在定义了ajax回调之后才初始化paginator对象。
当JS解释器看到像getList这样的函数定义时,它究竟做了什么,它引用了尚未在异步回调中初始化的属性?
答案 0 :(得分:1)
当JS解释器看到像getList这样的函数定义时,它究竟做了什么,它引用了尚未在异步回调中初始化的属性?
好的。 “这是一个功能,好的”。
只有在调用函数时,才会尝试访问它的变量。