将函数做为数据

将函数做为数据

    1.用变量引用函数,该变量执行和函数一样的效果
  
    函数定义以后  如 function square(x) { return x*x;}

    我们可以   var a = square(4)   a 16
               var b = square      b 就相当于函数squre,它是squre的一个引用,执行效果一样     
               var c = b(10)       c 100
    2.将函数指定为一个对象属性的用法
       var o  = new Object;
       o.square = new Function("x","return x*x;");
       var y = o.square(10);
    3.利用函数直接量,将它赋给数组元素;
      var a  = new Array(3);
        a[0] = function(x){return x*x;};
        a[1] = 10;
        a[2] = a[0](a[1]);
        alert("a[2] = "+a[2]);
    4.将函数做为数据
       function add(x,y){ return x+y};
       function subtract(x,y){return x-y};
       function multiply(x,y){return x*y};
       function divide(x,y){return x/y};
       function operate(operator,operand1,operand2){
            return operator(operand1,operand2);
        }
       var i = operate(add,operate(add,2,3),subtract(10,8));
       alert(i);

      
   
                 

你可能感兴趣的:(将函数做为数据)