javascript - 了解嵌套函数如何在 javascript 中工作
问题描述
例如,我想了解嵌套函数的工作原理
function outer(){
console.log("Hello from outer function")
function inner(){
console.log("Hello from inner function")
}
}
我想了解调用外部()时会发生什么,如何调用内部函数,内部函数的执行上下文是什么,
解决方案
由于您没有inner()
在outer()
函数中的任何地方调用,所以这就是默认情况下不调用 inner() 的原因。
JavaScript 将在最初声明值时自动分配内存。有一个链接,您可以在其中阅读 JS 中的内存管理
你不能inner()
从外面打电话。一旦 outer() 完成执行 inner() 将被垃圾收集,因为没有其他对它的引用。
function outer(){
console.log("Hello from outer function")
inner();
function inner(){
console.log("Hello from inner function")
}
}
outer();
使用闭包方式:
function outer() {
var name = 'StackOverflow';
function inner() {
console.log("I am in Inner function at " + name);
}
return inner;
}
var outerfunction = outer();
outerfunction();
但是如果你看到我们在外部函数中间接调用了 inner() 。
推荐阅读
- html - 引导按钮轮廓和单击轮廓后
- r - 删除 R 中与不同数据帧上的另一个值匹配的特定行下方的所有行
- x86 - HID USB 设备(如键盘)上的按键是否会触发事件环中的事件从而触发中断?
- r - 如何根据 R 中的其他列对特定列中的值进行分类
- google-bigquery - BigQuery 加载作业将 Null 视为 String 而不是 Float (json)
- python - 我应该如何提高 Python/Cython 的性能?并行化/memoryviews/numpy?
- php - 支持负值
- javascript - Awat 不等待异步
- python - 将列表中的元素转换为单独的行
- math - 寻找二维平面的隐式表示