美文网首页
函数(一)定义与参数

函数(一)定义与参数

作者: 水明 | 来源:发表于2018-09-17 01:40 被阅读39次

    本文对应《JavaScript忍者秘籍》第3章内容。

    1.函数式编程

    函数是第一类对象。

    函数和对象

    共性:

    • 通过字面量创建。
    • 赋值给变量、数组项,或其他对象属性。
    • 作为参数传递给函数。
    • 作为函数的返回值。
    • 具有动态创建和分配的属性。

    个性:

    • 函数是可调用的。

    回调函数

    函数会被其他函数在稍后的某个时间点“再回来调用”。
    升序排序:

    var values=[1,9,2,6,0,8,1,7];
    values.sort(function(v1,v2){
      return v1>v2;
    });
    

    2.函数作为对象

    可以给函数添加属性。

    3.函数定义

    4类定义函数的方式:

    • 函数定义和函数表达式
    function f(){
      return 1;
    }
    var g=function(){
      return 2;
    }
    
    • 箭头函数
    x=>x*x
    
    • 函数构造函数(不常用)
    new Function('a','b','return a+b');
    
    • 生成器函数
    function* gen(){
      yield 1;
    }
    

    函数定义和函数表达式

    立即函数

    (function(x){
      return x+1;
    })(3);
    
    

    也可以加运算符+ - ! ~来指明它是表达式而不是函数定义语句。

    +function(x){return x+1}(3);
    

    箭头函数

    var values=[1,9,2,6,0,8,1,7];
    values.sort((v1,v2)=>v1>v2);
    

    参数多于一个,需要加括号。
    函数体多于一句,需要写成代码块,并显示包含return

    4.实参与形参

    实参的数量大于形参的数量,多余的实参并没有用。
    形参的数量大于实参的数量,没有对应实参的形参会设为undefined

    剩余参数

    剩余参数是一个Array的实例。

    function sum(...rest){
      var sum=0;
      rest.forEach(v=>sum+=v);
      return sum;
    }
    

    默认参数

    function FofC(c=37){
      return c*9/5+32;
    }
    

    相关文章

      网友评论

          本文标题:函数(一)定义与参数

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