首先看两种函数声明:
var square1 = function (x){
return x*x;
}
function square2(x){
return x*x;
}
两者看似不同,在大多数使用的时候也并无太大区别,但是第一种使用时有时会报错,如:
var r1=square1(x);
var r2=square2(x);
var square1 = function (x){
return x*x;
}
function square2(x){
return x*x;
}
javascript在执行到第一条代码时就会报错,square1 is not a function;
这是因为用var 通过函数表达式声音函数赋给变量的时候,变量声明提前,但是其值还是undefined;
而用function 声明的时候,整个函数体和值都提前了,所以不会报错!
JavaScript基础:定义函数时用var和不用var的区别
原文:http://www.cnblogs.com/Excalibur-Zhou/p/4065844.html