关于js函数声明和函数表达式,这应该是基础细节问题,今天在做题的时候有遇到,所以做一下笔记以便以后查看。
在js中定义一个函数有两种方式:用函数声明和用函数表达式。两种形式的使用方法如下:
//函数声明
function sum(a,b){
return a+b
}
//函数表达式
var sum = function(a,b){
return a+b
}
Function//构造函数【从技术角度讲,这是一个函数表达式】
var sum = new Function('a','b','return a+b')//不推荐使用,影响函数解析性能
其中函数声明最大的特征就是函数声明提升,也就是在调用该函数时会首先找到函数声明执行,所以在代码中可以表现为声明在函数调用的后面。但其实不用担心,它在执行时能先去找到声明的。与函数声明不同,函数表达式就不能在变量赋值前使用,如在上面的示例中,若在函数表达式之前使用sum这个变量就会出错。
网友评论