js学习之函数声明与函数表达式区别[原创]
作为一名js初学者,与大家分享下。Javascript中有函数声明提升的功能,会优先编译函数声明部分。比如,
ff();
function ff(){
alert("hello world.");
}
这样的代码一样会执行。
下面谈谈函数声明和函数表达式的区别,直接看实例:
1.使用函数声明的情况
<script type="text/javascript"> //使用函数声明的情况 //IE,Chrome下返回no, Firefox下返回yes var a = 1; if (a) { function ff() { alert("yes"); } } else { function ff() { alert("no"); } } ff(); </script>
2.使用函数表达式的情况
<script type="text/javascript"> //使用函数表达式的情况 //IE, Chrome, Firefox下均返回yes var ff; var a = 1; if (a) { ff = function () { alert("yes"); } } else { ff = function () { alert("no"); } } ff(); </script>
可见,在这种情况下我们应该使用函数表达式。