我是 javascript 新手,有一个简单的问题。假设我有以下代码:

function entryPoint()
{
   callFunction(parameter);
}

function callFunction(parameter)
{
   ... //do something here
   var anotherFunction = function () { isRun(true); };
}

我的问题是,当调用 callFunction(parameter) 并声明变量 anotherFunction 时,isRun(true) 是否在此实例化期间实际执行?我认为它没有,并且 anotherFunction 的内容仅“存储”在变量中,当在该行的某处调用 anotherFunction() 时实际逐行执行。任何人都可以澄清功能混淆吗?

最佳答案

似乎困惑是这行代码

var anotherFunction = function () { isRun(true); };

这声明了一个函数/lambda 类型的变量。 lambda 被声明为不运行。在您通过变量调用它之前,它内部的代码不会执行
anotherFunction(); // Now it runs

关于Javascript函数执行顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10111375/

10-11 02:31