在javascript中,我们经常要声明函数,或者使用函数表达式,今天我们就来说说这两者的区别。
解析器在执行代码的时候,对函数声明和函数表达式并不是一致的。
解析器会优化读取函数声明,这是为了使其他代码在使用此函数之前可以使用,函数表达式则不然,必须到函数表达式执行到所在代码的区域才会被解释执行。
我们来看两个例子:
1.函数声明:
console.log(action(10,20))
function action(num1,num2){
}
这段代码我们一直都知道,是可以通过的吧,这是因为解析器会优化读取函数,就是为了执行其他代码之前可使用。
javascript引擎在第一次会声明函数并将他们放在源代码的顶部,所以即使函数声明在调用的后面,也能完成执行。
如果使用函数表达式,这样的调用就会报错。
2.函数表达式:
console.log(action(10,20));
var action =function(num1,num2){
}
以上代码在运行期间就会产生错误,这是因为函数表达式。
在执行到函数所在语句之前,解析器根本找不到action这个函数,这就是函数声明和函数表达式的区别。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有