函数表达式和函数声明

定义函数两种方式:A(函数声明)、 B(函数表达式)
A:函数声明方式定义函数:函数声明的重要特性:函数声明提升。
注意点:①不在任何函数内声明的变量(函数内省略var的也算全局)称作全局变量(global scope)
function a() {
console.log('hello word');
}
B:函数表达式定义函数;匿名函数也称为拉姆达函数。
var b=function () {
console.log('hello word');
};

变量声明提升: 通过 var 声明的变量在代码执行之前被引擎提升到了当前作用域的顶部。
函数声明提升: 通过函数声明的方式(非函数表达式)声明的函数在代码执行之前被引擎提升到了当前作用域的顶部,而且函数声明提升优先于变量声明提升。

实例1:
a();
var a;
function a() {
console.log(1);
}
a = function() {
console.log(2);
}
a();
运行结果:
1
2

实例2:
a();
var a;
function a() {
console.log(1);
}
a = function() {
console.log(2);
}
function a() {
console.log(3);
}
a();
运行结果:
3
2

函数递归调用:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容