Javascript 当函数已经有一个参数时,如何获取调用者元素的引用

Javascript 当函数已经有一个参数时,如何获取调用者元素的引用,javascript,parameters,reference,call,Javascript,Parameters,Reference,Call,如何获取myFunction中调用者元素的引用?在您的示例中,您将myFunction(5)的返回值分配给el1.onclick,将myFunction(7)的返回值分配给el2.onclick 以以下为例: function myFunction(par) { ... } el1.onclick=myFunction(5); el2.onclick=myFunction(7); 在上面的示例中,执行myFunction(5)。然后该函数的返回值,我们称之为myval,被分配给el1.on

如何获取
myFunction
中调用者元素的引用?

在您的示例中,您将
myFunction(5)
的返回值分配给
el1.onclick
,将
myFunction(7)
的返回值分配给
el2.onclick

以以下为例:

function myFunction(par) {
...
}


el1.onclick=myFunction(5);
el2.onclick=myFunction(7);
在上面的示例中,执行
myFunction(5)
。然后该函数的返回值,我们称之为myval,被分配给
el1.onclick
。这相当于:

el1.onclick=myFunction(5);
不清楚这是否是你的意图。为了实现这一点,myFunction的返回值需要是稍后执行的函数(或Javascript字符串)


在该函数中,您将引用调用者元素
该函数中的此
将返回当前调用事件的元素。

在您的示例中,您将从
myFunction(5)
el1.onclick
分配返回值,从
myFunction(7)
el2.onclick
分配返回值

以以下为例:

function myFunction(par) {
...
}


el1.onclick=myFunction(5);
el2.onclick=myFunction(7);
在上面的示例中,执行
myFunction(5)
。然后该函数的返回值,我们称之为myval,被分配给
el1.onclick
。这相当于:

el1.onclick=myFunction(5);
不清楚这是否是你的意图。为了实现这一点,myFunction的返回值需要是稍后执行的函数(或Javascript字符串)


在该函数中,您将引用调用者元素
该函数中的此
将返回当前正在调用事件的元素。

//这表示调用此函数并将其返回的内容指定给onclick el1.onclick=myFunction(5)

你想用闭包吗 el1.onclick=function(){myFunction(5);}

若要引用元素,可以传入对象

var myval = myFunction(5);
el1.onclick = myval;

或者您可以使用,以便在侦听器中,
引用元素

function test(elem, x){    
    elem.innerHTML = x;
} 

document.getElementById("foo").onclick = function(){ test(this, 1); }

//这是说调用此函数并将其返回的内容指定给onclick el1.onclick=myFunction(5)

你想用闭包吗 el1.onclick=function(){myFunction(5);}

若要引用元素,可以传入对象

var myval = myFunction(5);
el1.onclick = myval;

或者您可以使用,以便在侦听器中,
引用元素

function test(elem, x){    
    elem.innerHTML = x;
} 

document.getElementById("foo").onclick = function(){ test(this, 1); }

仅供参考,您可能询问的是目标元素,而不是调用方。术语调用者是指调用当前正在执行的函数的函数。许多JS引擎都有arguments对象的属性,称为
caller
。仅供参考,您可能询问的是目标元素,而不是调用者。术语调用者是指调用当前正在执行的函数的函数。许多JS引擎都有arguments对象的属性,称为
caller