通过数组观察闭包
var arr = [];
for (var i= 0;i<10;i++){
arr[i] = function(){
console.log('haha');
}
}
arr[0]();//haha
arr[3]();//haha
IIFE
var arr=[];
for(var i=0;i<10;i++){
(function)(m){
arr[m] = function(){
console.log(m);
}
})(i);
}
console.log(arr);
arr[0]();//0
arr[3]();//3
如果在js中有两个相同的函数名,后面的函数把前面的覆盖
function fun(a,b){
console.log('haha');
}
function fun( a,b,c){
console.log('xixi');
}
fun(1,2);
根据实参个数不同进行不同操作
function fun(){
if(argument,length ==0){
console.log('请输入参数‘);
}else if(argumlents.length ==1){
console.log(Math.pow(arguments[0],2));
}else{
var sum = 0;
for(var i=0;i<arguments.length;i++){
sum+=arguments[i];
}
console.log(sum);
}
}
fun();
fun(4);
fun(1,2);
fun(1,2,3,4);