javascript - 访问对象内函数内的函数

标签 javascript

我知道这听起来很奇怪,但请耐心听我说。

我有一个像这样的对象:

Functions = {
    function1: function() {
        function2: function() {
            alert('bam');
        }
    }
}

如何触发function2?我尝试了 Functions.function1.function2Functions.function1().function2() 但没有任何效果。我做错了什么吗?

最佳答案

这里有两个修改:

保留 function2 标签

Functions = {
    function1: function() {
        function2: 
          (function() {
            alert('bam');
          })();      
    }
};

Functions.function1(); // You still can't access the label function2 however

删除 function2 标签(用于返回的开关

Functions = {
    function1: function() {
        return function() {
            alert('bam');
        };
    }
};

Functions.function1()();

底线是代码无法正常工作,因为您不能将标签视为函数的属性。

(据我所知)从 function1 调用 function2 最接近的是(没有 return 语句):

Functions = {
    function1: function() {
    }
};

Functions.function1.function2 = function() {
  alert("bam");
};

Functions.function1.function2();

关于javascript - 访问对象内函数内的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26346395/

相关文章:

javascript - 在我的目录中显示图像时,如何向其添加返回(或后退)按钮?

javascript - 如何在浏览器(尤其是 Chrome)中将视频和摄像头录制合并在一起?

javascript - 无需 ng-click 即可更新 $scope 并对数组进行动态排序

javascript - 将小数四舍五入到前两位有效数字

javascript - 强制从同一 URL 重新下载 img

javascript - Youtube 可以很好地与 Turbolinks 一起玩吗?

javascript - 在 Sharepoint 2013 中使用 Javascript 时出现空引用类型错误

javascript - 避免发件人也收到 firestore 通知

javascript - 您将如何获取 JSON 对象数组中所有子节点的 JSONPath?

javascript - angularJS 表单验证仅在第一次时有效