我有一个按钮#test。
var obj = {
name: "John",
test: function() {
console.log('name '+ this.name );
}
};
$("#test").on( "click", obj.test);
这将记录一个空字符串(记录 typeof this.name 给出一个字符串)。
编辑:我知道这个上下文变成了按钮,因此 this.name 什么也不返回。
相对
var obj = {
name: "John",
test: function() {
console.log('name '+ this.name );
}
};
$("#test").on( "click", function() {
obj.test(); //logs John
});
有什么区别?
编辑:如何用 annon 函数包装 obj.test() 使其行为与上面不同?