理解当父函数返回内部函数时javascript是如何工作的

Understanding how javascript works when a parent function returns an inner function

本文关键字:何工作 工作 javascript 函数 返回 内部函数      更新时间:2023-09-26

在parent_function中有一个inner_function。

我想我明白这是怎么回事了:http://jsfiddle.net/93pp5/

 var text = 'Look at me';
function parent_function() {
  function inner_function() {
var scream = '!!!';
alert(text);
}
    inner_function();
};
parent_function();

然而,我试图找出为什么我的javascript下面不工作。可以parent_function()不返回inner_function()?我的期望是在底部调用parent_function()会弹出一个警报,但它没有:http://jsfiddle.net/93pp5/1/

var text = 'Look at me';
function parent_function() {
 return function inner_function() {
var scream = '!!!';
alert(text);
}
};
parent_function();

这是因为parent_function返回的函数仍然需要被调用(执行)。

var runAlert = parent_function();
// runAlert now holds the returned function but it still needs to be called to get the alert
runAlert(); // will alert