当用户点击一个从我的某个类调用函数的按钮时,我需要调用一些私有变量。
这是我的代码: -
class01 = new MyClass('Tom Marvolo Riddle');
function MyClass(name){
this.name = name;
var draw = function(){
var newHTML ='<input type="button" value="hello" />';
$(".ctn").append(function(){
return $(newHTML).click(hello);
});
}
var hello = function(){
alert ('hello, my name is '+this.name+'.')
}
draw();
}
答案 0 :(得分:1)
在hello
函数中,调用它时,this
指的是单击的按钮,它不具有我们存储的name
属性。因此,我们在另一个变量中分配name
时捕获当前对象,如此
function MyClass(name){
var that = this;
that.name = name;
...
var hello = function(){
console.log ('hello, my name is ' + that.name + '.');
}
draw();
}
var class01 = new MyClass('Tom Marvolo Riddle');