在JavaScript中定义一个函数,有两种方式,声明式和表达式。
我们直接上代码:
function f1(){
console.log('aaaaaa');
}
这是很标准的函数的声明方式。也就是所谓的声明式,它的主要特点就是一定要有函数名,这是规定。而且它可以在函数定义之前调用。
f1();
function f1 (){
console.log('aaaaaaa')
}
这段代码的输出结果是:
我们看下函数的表达式形式:
var f1 = function (){
console.log('aaaaaaa');
}
这是函数的表达式形式定义的函数。它的特点是可以没有函数名,当然也可以有,这里是可选的。还有就是它不能在函数定义之前调用。
f1();
var f1 = function (){
console.log('aaaaaaa');
}
我们像之前一样,在函数定义之前调用一下函数,它的输出结果是:
它报错了。
所以我们总结一下:
函数声明式必须要有函数名,并且它是可以在函数定义之前调用的。函数表达式可以没有函数名,是可选择的,并且它不可以在函数定义之前调用,编译器必须完全读取完它的表达式,才能被调用。
因为函数表达式可以没有函数名,所以不会污染名字空间,这也是为什么很多JS库使用函数表达式的原因。
有什么问题可以联系QQ:505417246
关注下面微信公众号,可以领取微信小程序、Vue、TypeScript、前端、uni-app、全栈、Nodejs等实战学习资料