当前位置 : 主页 > 网络编程 > JavaScript >

js面向对象编程-函数章节

来源:互联网 收集:自由互联 发布时间:2021-06-30
通过函数内径的arguments数组,实现参数之间的累加 function allSum(){ var i,res =0; var paramsLength = arguments.length; for(i=0;i 回调函数 function multiplyByTwo(a,b,c,callback){ var i,ar =[]; for(i=0;i3;i++){ ar[i] = c
通过函数内径的arguments数组,实现参数之间的累加
function allSum(){
    var i,res =0;
    var paramsLength = arguments.length;
    for(i=0;i
 

  
   回调函数
  

  
function multiplyByTwo(a,b,c,callback){
     var i,ar =[];
     for(i=0;i<3;i++){
         ar[i] = callback(arguments[i]*2);
     }
    return ar;
 }
function addOne(a){
    return a+1;
}
 var myarr = multiplyByTwo(1,2,3,addOne);
 console.log(myarr);
匿名函数的优缺点
匿名函数的好处是不会产生任何全局变量,当然缺点是这样的函数是无法重复执行的(除非放到某个循环或其他函数中)
获取for循环里面的i的值
1.// 使用自执行函数获取i的值
function f(){
    var a =[];
    for(var i=0;i<3;i++){
        a[i] = (function(x){
            return function(){
                return x;
            }
        })(i);
    }
    return a;
}

2// 闭包获取变量的值
function f(){
    function makeClosure(x){
        return function(){
            return x;
        }
        return x;
    }
    var a = [];
    var i;
    for(i=0;i<3;i++){
        a[i] = makeClosure(i);
    }
    return a;
}
迭代器
function setup(x){
    var i=0;
    return function(){
        return x[i++];
    };
}
var next = setup(['a','b','c']);
网友评论