如何从Set()调用PrintIt foo?我得到它无法找到它的错误...
我知道可以通过MyObject.prototype.PrintIt调用它,但这样我将“丢失”对象及其属性(Num)
MyObject = function(){
this.Num=6;
}
MyObject.prototype = {
initialize: function(){
document.getElementById("button1").onclick = this.Set;
},
Set: function(){
this.PrintIt();
},
PrintIt: function(){
alert("I Print");
//alert( this.Num);
}
}
window.onload = function(){
obj = new MyObject;
obj.initialize();
}
答案 0 :(得分:7)
问题不在于原型,而在于如何将方法分配给点击处理程序。 那里它失去了与对象的连接。你可以使用一个闭包:
initialize: function(){
var that = this;
document.getElementById("button1").onclick = function(){
that.Set();
};
},