函数声明和函数表达式的区别

函数声明:function sum(){}
函数表达式:var sum = function(){}

函数声明,解析器可以通过一个名为‘函数声明提升’的过程。读取并将函数声明添加到执行环境中,对代码求值时,javascript引擎在第一遍声明函数并将它们放在源代码树的顶部,所以即使声明函数的代码调用它的代码的后面,javascript引擎也能把函数声明提升到顶部

关于函数声明,它的一个重要特征就是函数声明提升,意思是在执行代码之前会先读取函数声明,这就意味着可以把函数声明放在调用它的语句后面。

test1:
alert(sum);//不会报错,因为函数声明已经提升到顶部
function sum(){
    return 1
}
test2:
alert(sum());//会报错,在执行到sum()函数所在的语句之前,变量sum不会保留有对函数的引用
var sum = function (){
    return 1
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值