js函数声明和函数表达式的区别
js函数声明和函数表达式的区别一、函数声明
1、例如
function sum1(n1,n2){
return n1+n2;
};
2、对于函数声明,js解析器会优先读取,确保在所有代码执行之前声明已经被解析
3、函数声明在JS解析时进行函数提升,因此在同一个作用域内,不管函数声明在哪里定义,该函数都可以进行调用。
二、函数表达式
1、例如
var sum2=function(n1,n2){
return n1+n2;
};
2、在JS运行时确定,并且在表达式赋值完成后,该函数才能调用。
3、函数表达式,如同定义其它基本类型的变量一样,只在执行到某一句时也会对其进行解析
三、通过实例说明函数声明和函数表达式的区别
当使用函数声明的形式来定义函数时,可将调用语句写在函数声明之前,而后者,这样做的话会报错。
//代码一:
a(1); //执行这个会报错
var a = function(index){
alert(index);
}
a(2); //执行这个不会报错
//代码二:
a(1); //执行这个不会报错
function a(index){
alert(index);
}
a(2); //执行这个不会报错