0
以下代码来自显示分页表的简单页面。Javascript ajax回调和变量初始化
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中正确更新。
我觉得这很奇怪,因为paginator对象只有在定义了ajax回调后才被初始化。
JS解释器在看到像getList这样的函数定义时会做什么,它指向尚未在异步回调中初始化的属性?
好的。所以执行过程就像1. JS解释器创建一个对象来保存函数定义,而不必在函数中执行代码。 2. self.paginator被初始化3.在成功回调中,它检索现在初始化的paginator对象并更新它。我是否正确? – Ramnath