javascript - 在使用函数表达式声明函数之前调用函数是可行的。为什么?

标签 javascript jquery

我使用函数表达式 inneroneinnertwo 声明了两个函数。我首先声明了innerone,然后声明了innertwo。在 innerone 内部,我正在调用 innertwo 函数。但我担心的是,我在 innerone 之后使用函数表达式声明 innertwo ,这意味着 innertwo 未提升。那么为什么这些函数按这个顺序工作呢?是否必须更改订单?

这是代码

var one = function () {
    var innerone = function () {
        innertwo();
    },

    innertwo = function () {
        console.log('innertwo');
    };

    return {
        innerone: innerone
    };
};

var o = new one();
o.innerone();

最佳答案

它之所以有效,是因为只有当您调用它时才调用它。当它被称为“innertwo”时,它就被定义了。

关于javascript - 在使用函数表达式声明函数之前调用函数是可行的。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13320527/

相关文章:

javascript - 如何获取div的偏移位置 - 跨浏览器问题

javascript - 在整个执行后调用插入时不插入元素

javascript - 单击后显示 div 并启动计时器

jquery - 使用 jquery 添加独立于 knockoutjs 绑定(bind)的事件处理程序

javascript - addEventListener 无故激活?

javascript - jquery中如何提取匿名函数

jquery - 试图让填充和行高在 FF 中正确显示

相当于 ?? C#中的运算符

javascript - 在 jQuery 中通过 alt 属性定位 <img>

javascript - Reactjs : Read value of a Radio Button