javascript - 查找函数的调用者

标签 javascript function

假设我有一个按钮。 <input type="button" value="Click me" onClick="MyFuncion()">
在函数中,我想获取按钮对象。
我尝试了以下方法:

function MyFunction()
{
  this.value = "Another text";
}
<input type="button" value="Click me" onClick="MyFuncion()">

我的目的是将按钮的文本更改为其他文本。
如您所见,this没有指向按钮。我的猜测是它指向函数本身。
我该怎么做?

简而言之,我的问题是:如何获取调用函数的对象?

最佳答案

当您从 onclick 属性调用该函数时,“this”上下文可用,您可以将其传递到您的函数中,如下所示:

function MyFunction(button)
{
  button.value = "Another text";
}
<input type="button" value="Click me" onclick="MyFunction(this)">

函数中的“this”上下文要么是“window”,要么是 null(如果处于严格模式)。这是因为该函数是作为函数而不是方法来调用的。

关于javascript - 查找函数的调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28631947/

相关文章:

javascript - 如何用lodash替换数组中的十进制数

javascript - Firebase:通过 REST 获取 token 并使用 signInWithCustomToken

java - 仅当用户触发事件时才运行颜色计算

c - 如何修改已传递给 C 函数的指针?

function - 函数和闭包赋值的区别

java - Javascript 构造函数与 Java 中的类或接口(interface)等效/相似吗

javascript - 如果其中的 IMG 图像损坏,如何设置 DIV 的样式?

javascript - Canvas 未合并并导致仅显示背景图像

c - 如何处理错误 "control may reach end of non void function"?

C 函数通过参数之一返回结构数据