【JavaScript】函数表达式

一、前言

接着上一篇的内容,继续学习JavaScript。

二、内容

函数的声明

function functionName(arg0,arg1,arg2){
    //函数体
}

递归

var factorial = (function f(num){
    if(num<=1){
return 1;
}
else{
return num*f(num-1);
} });

闭包

//闭包与变量
闭包只能取得包含函数中任何变量的最后一个值。闭包所保存的是整个变量对象,而不是某个特殊的变量
function createFunctions(){
var result = new Array();
for(var i=0; i<10; i++){
return[i] = function(){
return i;
}
}
return result; //返回的数组每一个都是10
}
function createFuntions(){
var result = new Array();
for(var i=0; i<10; i++){
result[i] = function(num){
return function(){
return num;
}
}(i);
}
return result;
}

块级作用域

(function(){
//这里是块级作用域
})();
将函数声明包含在一对圆括号中,表示它实际上是一个函数表达式。
紧随其后的另一对圆括号会立即调用这个函