javascript - 如何在另一个函数中访问一个函数

标签 javascript

如何在下面的代码中从外部调用内部函数?

(function (){
    var funOne = {
        funTwo : function (){
            var funFour = function(){
                console.log('inner function working');
            }
        },
        funThree : function () {
            console.log('working');
        }
    }
    funOne.funTwo(); // works
    funOne.funThree(); // works again
    funOne.funTwo.funFour(); // throwing exception

    })();

最佳答案

通过尝试将 funTwo 定义为一个函数 (funOne.funTwo()) 和一个对象 (funOne.funTwo.funFour())。

这里有 2 个访问 funFour 的选项:

  1. 让 funTwo 让 funFour 在更易于访问的级别上访问(例如,通过 funOne)。
  2. 让 funTwo 在一个对象中返回 funFour。您仍然需要添加括号才能在输出中实际调用 funTwo()

如何改变 funTwo:

    funTwo : function (){
        var funFour = function(){
            console.log('inner function working');
        };
        funOne.funFour = funFour; // Option 1
        return { 'funFour': funFour }; // Option 2
    },

如何调用每个选项:

funOne.funFour(); // Option 1
funOne.funTwo().funFour(); // Option 2

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

相关文章:

javascript - 替代大数组的更好实践 (javascript)

javascript - 无法使用下面的代码在 for 循环中循环对象数组来获得正确的输出,它只采用最后一个条件

javascript - 在 Backbonejs 中更新集合和 View

javascript - 位置 : Fixed is disabling my scroller in IE7

javascript - 为什么 meteor 会被认为是不安全的?

javascript - 使用 Jquery/Javascript 在每次单击按钮时创建唯一的 id

javascript - 如何使用 javascript 将变量从 html 文件插入到 js 文件中?

javascript - jQuery 中表达式 ${variable_name} 的含义是什么?

javascript - 居中元素

javascript - react 终极版 : Connected child component not receiving props