Javascript JS:有没有办法告诉什么对象称为函数?
在函数中,有没有一种方法可以获取对调用它的对象的引用?我在页面上有两个相同的Flash对象实例,每个实例都可以通过ExternalInterface调用JS,我无法为每个Flash对象编写代码并传递不同的ID,因为它是同一Flash对象的两个实例,所以JS有没有办法获取调用函数的引用 谢谢 或者,但是您可能希望重新组织代码以避免使用它们。真的有另一种方法可以得到你想要的——我保证 编辑:AnthonyWJones指出,你实际上在寻找接线员 this关键字引用上下文 对象(也称为当前对象)。在里面 一般来说,在方法中,这是指 调用对象Javascript JS:有没有办法告诉什么对象称为函数?,javascript,Javascript,在函数中,有没有一种方法可以获取对调用它的对象的引用?我在页面上有两个相同的Flash对象实例,每个实例都可以通过ExternalInterface调用JS,我无法为每个Flash对象编写代码并传递不同的ID,因为它是同一Flash对象的两个实例,所以JS有没有办法获取调用函数的引用 谢谢 或者,但是您可能希望重新组织代码以避免使用它们。真的有另一种方法可以得到你想要的——我保证 编辑:AnthonyWJones指出,你实际上在寻找接线员 this关键字引用上下文 对象(也称为当前对象)。在里面
我不知道ExternalInterface,但在执行函数期间,您是否尝试过检查
此
对象
当然你也可以用闭包。最终,您必须给Flash对象一个要执行的函数。例如,我有myObj1
和myObj2
,它们采用回调方法fnCallback
,但由于某种原因,在执行这些函数时,它们不会设置这个
上下文。因此,我可以这样做:-
function setCallback(obj, fn)
{
obj.callback = function() {fn.apply(obj, arguments);}
}
setCallback(myObj1, fnCallback);
setCallback(myObj2, fnCallback);
现在,我可以使用<代码> f>代码> fnCalpEnter作为对调用该函数的特定对象的引用。 如果您正在寻找一种方法来查找一个称为函数的非函数元素,您可以考虑使用该事件。这是一个非常方便的函数,在传递事件对象时我经常使用它
function getTargetElement(evt) {
evt = (evt) ? evt : ((window.event) ? window.event : "");
var elem;
if (evt.target) {
elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target;
} else {
elem = evt.srcElement;
}
return elem;
}
因此,例如,如果从单击的元素调用函数“find(event);”,则可以对find进行编码,以使用此方法获取事件对象:
function find(evt){
var clickedObj = getTargetElement(evt);
alert(clickedObj.tagName); //alerts "TD"
}
在实例化Flash对象时,不能将ID传递给它吗?(通过查询字符串或参数)。然后您可以在JavaScript函数调用中使用该ID。调用方是否将调用当前函数的函数与调用该函数的对象相关联,这与调用该函数的对象不同?我不太清楚您的意思,请您再详细说明一下好吗?你是说JS函数中的“this”是指调用该函数的flash对象吗?谢谢。任何对象都可以作为“this”上下文提供给函数执行,我不确定这是否适用于这种情况,因为我对ExternalInterface没有直接的经验,我的建议是你可以试试。让我知道它是否有效。我只做过一点点闪光。