1、前言数组
接着上一篇的内容,继续学习JavaScript。闭包
2、内容函数
函数的声明学习
function functionName(arg0,arg1,arg2){ //函数体
}
递归spa
var factorial = (function f(num){ if(num<=1){
return 1;
}
else{
return num*f(num-1);
} });
闭包
code
//闭包与变量
闭包只能取得包含函数中任何变量的最后一个值。闭包所保存的是整个变量对象,而不是某个特殊的变量
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(){
//这里是块级做用域
})();将函数声明包含在一对圆括号中,表示它其实是一个函数表达式。紧随其后的另外一对圆括号会当即调用这个函