javascript - js函数生命周期疑问
怪我咯
怪我咯 2017-04-10 14:28:29
[JavaScript讨论组]

js的函数生命周期分为:创建和调用。
那么,创建时期如何理解。
我举出两个代码示例:

1.单层的函数

var x=10;
function f(){
    alert(x);
}

2.函数嵌套

function f(){
    var x=2;
    function inner(){
        return x;
    };
    return inner;
}

因为执行环境分为:进入执行上下文和执行代码阶段。

那么,对于第一个示例,函数f的创建时期是什么时候?

第二个示例,inner函数的创建时期是什么时候?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
高洛峰
  1. 都是函数声明。
  2. 函数声明在预编译(执行代码前)阶段创建。

体会一下:

alert(typeof f)
function f(){}
大家讲道理

js中函数声明和函数表达式都可以定义函数。
函数声明属于VO对象,在进入上下文阶段创建
函数表达式不属于VO对象,在执行上下文阶段创建
函数表达式与函数声明(http://www.cn-cuckoo.com/main/wp-content/uploads/2009/12/named-function-expressions-demystified.html#expr-vs-decl)
finner都是函数声明,在进入各自的上下文阶段创建

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号