javascript - 如何从 Javascript 中的另一个函数调用一个函数内的子函数?

标签 javascript function

function Hello()
{
  function HelloAgain(){
  }
}

function MyFunction(){
...
}

这里我需要从 MyFunction() 调用函数 HelloAgain()。 您能为这种情况提出任何可能的解决方案吗?

最佳答案

不能,HelloAgain 函数位于一个闭包中,并且其作用域为该闭包。

您可以返回 HelloAgain 函数,然后从任何可以调用 Hello 的地方调用它。

function Hello () {
  function HelloAgain () {}
  return HelloAgain;
}

function MyFunction () {
  Hello().HelloAgain();
}

但这有点奇怪。

此外,您还可以使用 this 关键字来处理这个问题。

function Hello () {
  this.helloAgain = function helloAgain () {}
}

var hello = new Hello();

function MyFunction () {
  hello.helloAgain();
}

关于javascript - 如何从 Javascript 中的另一个函数调用一个函数内的子函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45307541/

相关文章:

function - 宏定义和函数定义的区别

javascript - 在 Chrome 扩展程序后台页面的 onClick 事件上向内容脚本发送消息

c# - 加载javascript和速度问题

javascript - Angular 2 如何从组件的外部脚本调用 jQuery 函数

javascript - TinyMCE - 将多个元素包装在一个 div 中

swift - 如何使用 if/else 函数赋予 UIImageView 属性?

javascript - 使用 Canvas 和 javascript 循环使用 if 语句的框架

javascript - 如何检测用户是否在 iOS UIWebView 中查看我的网站?

javascript - 简单的 javascript AJAX 发布功能不起作用

javascript - JQuery $function() 触发什么事件?