除了以上的函数声明方式外,还可以使用匿名函数的方式。
声明:
var 变量名称=function(形参列表){
//函数体
}
调用:
变量名称(实参列表)
注意:使用匿名函数的方式不存在函数提升,因为函数名称使用变量表示的,只存在变量提升。例:
var getName=function(){
console.log(2);
}
function getName(){
console.log(1);
}
getName();
//结果为2
可能会有人觉得最后输出的结果是 1。但是 getName 是一个变量,因此这个变量的声明也将提升到顶部,而变量的赋值依然保留在原来的位置。需要注意的是,函数优先,虽然函数声明和变量声明都会被提升,但是函数会首先被提升,然后才是变量。
//函数、变量声明提升后
function getName(){ //函数声明提升到顶部
console.log(1);
}
var getName; //变量声明提升
getName = function(){ //变量赋值依然保留在原来的位置
console.log(2);
}
getName(); // 最终输出:2
发表评论 取消回复