javascript - 如何访问函数内部的函数?

标签 javascript jquery

今天我的问题是如何访问函数内部的函数。因此,例如,我有一个按钮,如果我单击它,它会发出警报。问题是,如果您有一个围绕函数的函数,带有警报的内部函数将不会发出警报。

这是一个例子:

html:

<button onclick="doStuff()">Alert</button>

js:

function nothing() {

var doStuff = function() {
    alert("This worked!")
}

}

因此 doStuff() 函数将不起作用。有人可以帮我找到访问它的方法吗?

最佳答案

@Joseph the Dreamer 最终是正确的,但如果您执意要调用嵌套在另一个函数中的函数,则可以使用 OOP 方法。

创建一个 javascript“类”对象并将您的函数范围限定为“this”:

function Nothing() {
    this.doStuff = function() {
        alert("works");
    }
}
  • 接下来为按钮添加一个 id,
  • 连同点击事件监听器

然后,在您的点击事件中,您可以在 Nothing“类”函数中调用 doStuff,如下所示:

var object = new Nothing();
object.doStuff();

https://jsfiddle.net/me7fek5f/

关于javascript - 如何访问函数内部的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33683294/

相关文章:

php - 我似乎无法弄清楚为什么这个查询给我错误

javascript - AngularJS 未捕获错误 : [$injector:modulerr] -- noob here

javascript - 向对象/数字/字符串原型(prototype)添加方法

javascript - 如果提交处理程序返回 true,则 jQuery show() 函数不会在 Safari 中执行

javascript - 快速解决 DOM 中 JQuery .remove() 前导空白的方法?

java - Jira小工具开发

javascript - 类型错误 : 'addNode' is not a function

javascript - 如何通过 Javascript 使用鼠标事件在 Canvas 上绘图

java - 单线程异步处理

javascript - 使用 jquery 表单验证插件验证动态生成的字段(通过条件脚本)