gpt4 book ai didi

Javascript 代码处理流程(函数中的函数)

转载 作者:行者123 更新时间:2023-11-30 18:46:11 25 4
gpt4 key购买 nike

所以我的问题是,我最近了解到 javascript 允许您在另一个函数中定义一个函数。但是,我注意到其他函数中的此类函数并不总是被显式调用。给定这个例子,

function main()
{
function f1()
{
...
}
...
}

f1 会在main 函数执行时自动执行吗?定义 main f1 内部的位置(开始或结束)是否重要?在其他函数中处理函数时的一般规则是什么?

最佳答案

该函数不会自动执行,仅在外部函数范围内可用,因此您无权访问 main 之外的 f1,除非它有通过其他方式曝光。要执行 f1,请在代码中调用它。

function main() {
function f1() { .. }
f1(); // calling f1
}

如果函数是一个函数声明,那么您可以在函数内的任何地方使用它,甚至在它被定义之前。如果它是一个函数表达式,那么它只能在定义后才能使用。考虑一下如果我们尝试在函数表达式定义之前使用它会发生什么,

function main() {
f1(); // TypeError: undefined is not a function
var f1 = function() { }; // Function Expression
}

如果它是一个函数声明,这会起作用,

function main() {
f1(); // No errors
function f1() { }; // Function Declaration
}

函数是表达式还是声明时有一些微妙的规则,这 article关于功能范围可能会有所帮助。

关于Javascript 代码处理流程(函数中的函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5371103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com