美文网首页前端知识
function 函数类型之函数的声明方式

function 函数类型之函数的声明方式

作者: 程咸菜 | 来源:发表于2016-09-04 23:03 被阅读38次

    function 函数的声明方式

    普通函数的声明

    function box(a,b){    
    return a+b};    
    alert(box(2,3));    
    

    可以看到正常打印了。这是最简单的函数的声明。

    使用变量初始化函数

    var box = function(a,b){    
    return a+b};    
    alert(box(2,3));       
    

    这是使用 变量初始化函数。

    使用 function 构造函数

    var box = new Function('a','b','return a+b');    
    alert(box(1,2));      
    

    第三种不推荐使用,因为它会解析两次代码。(第一次是解析常规 ECMAScript 代码,第二次是解析传入构造函数中的字符串)从而影响性能。我们通过这种语法来理解 函数是对象,函数名是指针 的概念。

    作为值的函数

    因为 ECMAScript中的函数名本身就是变量,所以函数也可以作为值来使用。不仅可以像传递参数那样把一个函数传递给另一个函数,而且可以将另一个函数作为另一个函数的结果返回。
    函数可以传递函数,第一个我们写一个传递的函数

    function box(sum,num){     
    return sum+num;     
    }  
        
    function sum(num){     
    return num+10;     
    }      
     
    var res = box(sum(10),10);      
    document.write(res);
    

    这时候我们把 sum(10)传递的是函数的返回值和普通的变量没区别。所以这时候就是 function sum(10){return 10+10}; 最后返回的是 10+10=20;然后函数 box(sum(10),10)相当于 box(20,10) 所以打印的就是30 .这个例子就是把函数作为返回值传递的,而不是作为函数传递的。
    接下来的例子就是要把函数本身作为参数传递,而不是函数的结果传递。
    function box(sum,num){     
    return sum(num);     
    }  
        
    function sum(num){     
    return num+10;     
    }      
     
    var res = box(sum,10);      
    document.write(res);   
    

    这时候就是把 sum() 函数作为一个值返回。

    相关文章

      网友评论

        本文标题:function 函数类型之函数的声明方式

        本文链接:https://www.haomeiwen.com/subject/cnxrettx.html