我有这段代码
update_questions: function() {
alert("UPDATING!!");
},
poll: function() {
var self = this;
$.post(
self.o.site_root+'home/ajax_poll',
function(questions) {
if (questions != self.o.questions) {
self.o.questions = questions;
self.update_questions();
}
self.o.pending = false;
},
'json'
);
},
有人可以向我解释为什么每次调用update_questions
函数吗?我想,尤其是在self.o.questions = questions;
之后,如果不相同的话,返回的questions
和self.o.questions
必须相等。
数据没有变化。
答案 0 :(得分:0)
你是从一个帖子请求中得到它的,虽然对象属性可能相同,但它们在内存中是两个不同的对象并且不相等。您需要比较对象所具有的实际值,而不是对象本身。
这是一个简单的演示:http://jsfiddle.net/jwhwt/
答案 1 :(得分:0)
您需要循环遍历属性并进行比较,递归地比较其值是另一个对象的任何属性。