我使用函数表达式 innerone
和 innertwo
声明了两个函数。我首先声明了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/