现在的位置: 首页 > 综合 > 正文

JS中函数声明和函数表达式的区别

2014年06月15日 ⁄ 综合 ⁄ 共 462字 ⁄ 字号 评论关闭

Js中的函数声明是指下面的形式:

function functionName(){

}

 

 

这样的方式来声明一个函数,而函数表达式则是类似表达式那样来声明一个函数,如:

var functionName = function(){
}

可能很多朋友在看到这两一种写法时会产生疑惑,这两种写法差不多,在应用中貌似也都是可行的,那他们有什么差别呢?

       事实上,js的解析器对函数声明与函数表达式并不是一视同仁地对待的。对于函数声明,js解析器会优先读取,确保在所有代码执行之前声明已经被解析,而函数表达式,如同定义其它基本类型的变量一样,只在执行到某一句时也会对其进行解析,所以在实际中,它们还是会有差异的,具体表现在,当使用函数声明的形式来定义函数时,可将调用方式在函数声明之后,而后者,这样做的话会报错。

 

如:

	test1();//正确运行
	test2();//这里将报错	
	function test1(){
		alert("This is test1");
	}
	var test2 = function(){
		alert("This is test2");
	}

 

 

 

 

抱歉!评论已关闭.