顶层函数(top-level function)vs嵌套函数(nested function)
最近打算捡起丢失多年的js,学一遍。遇到两个概念记录一下
顶层函数(top-level function)
在 JavaScript 中,顶层函数(top-level function) 指的是在全局作用域中直接定义的函数,而不是在其他函数内部定义的函数。
function myTopLevelFunction() {
// 函数体
}
顶层函数的主要特点包括:
可以在代码的任何位置被调用,只要在其定义之后。
其作用域是全局的,可能会影响到整个脚本的执行环境。
顶层函数在 JavaScript 中常用于组织和封装可复用的逻辑代码块,以提高代码的结构和可读性。 比如,可能会创建一个顶层函数来处理特定的业务逻辑,或者执行一些全局的初始化操作。
嵌套函数(nested function)
在 JavaScript 中,嵌套函数(nested function)指的是在另一个函数内部定义的函数。
function outerFunction() {
function innerFunction() {
// 内部函数的逻辑
console.log('这是嵌套函数');
}
innerFunction();
}
outerFunction();
在上述示例中,innerFunction 就是 outerFunction 的嵌套函数。
嵌套函数具有以下一些特点和用途:
封装和隐藏逻辑:可以将一些只在外部函数内部使用的辅助逻辑封装在嵌套函数中,避免全局污染。
实现闭包:可以访问外部函数的变量和参数,形成闭包,实现一些特定的功能,比如保存状态或创建私有变量。