对学习JavaScript函数做个总结
函数分三种情形
(1)函数声明
利用 function声明一个函数,格式为 function 函数名() { }
JavaScript在解析代码时会"函数声明提升"当前执行作用域上的函数声明。即函数的调用无论在声明的前边或是后边,都不影响函数的调用。
fnName();
function fnName(){
...
}//正常,因为‘提升’了函数声明,函数调用可在函数声明之前
(2)函数表达式
var 函数名 = function(){ } 利用function声明一个匿名函数,然后将它赋给一个变量。
函数表达式必须等到Javascirtp引擎执行到它所在行时,才会从上而下一行一行地解析函数表达式.c此处函数必须在赋值之后才能被调用。
fnName();
var fnName=function(){
...
}//报错,变量fnName还未保存对函数的引用,函数调用必须在函数表达式之后
函数表达式可以在后面加括号,表示立即调用,
var fnName=function(){
alert('Hello World');
}();//函数表达式后面加括号,当javascript引擎解析到此处时能立即调用函数
(3)匿名函数
function() { } 利用function声明一个函数,没有函数名。