Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript onclick函数调用_Javascript_This - Fatal编程技术网

javascript onclick函数调用

javascript onclick函数调用,javascript,this,Javascript,This,我正在学习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(

我正在学习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


你们真是太棒了,谢谢你们的帮助

我相信您正在寻找的是
call()
函数

function testThis () {
  console.log(this);
}

testThis.call(curObj) // prints curObj

函数foo1{
应该是
函数foo1(){
,这是语法错误或键入错误。您可以直接设置这些值:
this.test=“foo1”
是否尝试使用私有变量?否,但我尝试在setTest中引用foo1范围内的curObj变量。这有意义吗?我想将curObj传递给setTest。