我正在学习 javascript 并且正在查看这段代码:
function foo1 {
var curObj = this;
this.foo2 = function() {
curObj.test = "foo2";
}
this.foo3 = function() {
curObj.test = "foo3";
}
// called by
x.on("click", curObj.foo1)
x.on("click", curObj.foo2)
}
“foo2”和“foo3”函数是重复的,所以我想用类似的东西替换它们:
function setTest(foo) {
curObj.test = foo;
}
function foo1 {
var curObj.test;
x.on("click", setTest(foo));
}
所以我的问题是如何将 curObj 传递给函数 setTest,x.onClick = setTest(this, foo) 不起作用。如果我想修改函数 setTest() 中的其他 curObj 值怎么办,像“this”这样的东西会覆盖吗?“this”是对内存地址的引用还是只是一个对象 ID?
你们太棒了,感谢您愿意提供的任何帮助!