[英]javascript onclick call to function
我正在學習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”是對內存地址的引用,還是對一個對象ID的引用?
你們很棒,感謝您願意提供的任何幫助!
我相信您正在尋找的是call()
函數
function testThis () {
console.log(this);
}
testThis.call(curObj) // prints curObj
https://developer.mozilla.org/zh-CN/docs/JavaScript/Reference/Global_Objects/Function/call
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.