我已经声明了一个JavaScript对象:
function A(name){
this.name=name
}
A.prototype.test=function(){
console.log(this.name);
};
作为一个简单的例子,我设置了一个按钮,如果它被点击,应该将一个变量输出到本地控制台日志:
<button id='test'>test</button>
脚本:
var t=new A('hello');
$('#test').click(t.test);
当我点击我想要显示的按钮this.name
时(在这种情况下&#39;你好&#39;),而this
指的是点击的按钮,而不是对象我创建。
这当然是一个调试脚本。在现实生活中,我将一个函数绑定到window.resize事件,该事件将重新构建一个调整大小的窗口。
有一个显示问题的JSFiddle。
我有一个解决方案,就是在对象的构造函数中声明调整大小(或单击函数)并使用this
的替代名称,如此(Here's the JSFiddle):
function A(name){
this.name=name
var self=this;
$("#test").click(function(){
console.log(self.name);
});
}
但我宁愿使用原型并将该函数绑定在对象的构造函数中。我怎么能用原型做到这一点?