zoukankan      html  css  js  c++  java
  • JavaScript中函数和构造函数总结

    何为函数?

      函数是可以重复执行的代码块。

      函数是一段JavaScript 代码,它只定义一次,但可被执行或调用任意次。

      在JavaScript 中,任意函数都是Function 的实例。

    函数定义的方式:

       1.声明式函数定义: function  函数名 (){};

      这种定义方式,会将函数声明提升到该函数所在作用域的最开头,在这个函数作用域内,在任意位置都可以调用这个函数。

     2.函数表达式:var fun = function(){};

      此方式定义的函数,只能在该作用域中,这段赋值代码执行之后才能通过fun()调用函数,否则,由于变量声明提升,fun === undefined。

     3.Lambda 表达式(箭头函数):var f = v => v;

    var f = () => 5;
    // 等同于
    var f = function () { return 5 };
    
    var sum = (num1, num2) => num1 + num2;
    // 等同于
    var sum = function(num1, num2) {
      return num1 + num2;
    };

     4.new Function 形式: var fun1 = new Function (arg1 , arg2 ,arg3 ,…, argN , body  );

      此方式很少用到,因为任意函数都是Function 的实例,所以可以通过new Function 创建实例对象。Function构造函数参数都是字符串类型。除了最后一个参数, 其余的参数都作为生成函数的参数即形参。最后一个参数, 表示的是要创建函数的函数体(即函数内部需要执行的代码)。

      例: 

    var 函数名 = new Function(“参数1”,”参数2”,”参数3”……”函数体”);
    如:
    var 函数名 = new Function("x","y","var z=x+y;return z;");

    箭头函数简化了函数的写法,表达式比较简洁,且当有多个参数时可以与变量解构赋值一起使用,需要注意的是,在函数中this对象的指向是可变的,但是在箭头函数中,this的指向是固定的

    总结:函数的几种定义方式其实都是最后一种new Function 的语法糖,当我们定义函数时候都会通过 new Function 来创建一个实例函数,前三种方法只是进行了不同形式的封装。

    补充:对象里的方法

    如果有一个函数是在一个对象里,一般我们称这种函数是对象的一个方法(method)。

    var obj = {
     greet: function (greeting, name) {
      return `${greeting}, ${name}`
     }
    }
    //ES6 可以按下面的方式给对象定义方法:
    var obj = {
     greet (greeting, name) {
      return `${greeting}, ${name}`
     }
    }
    

      

  • 相关阅读:
    CF1276F
    CF1082F
    CF1366G
    CF1221G
    CentOS7统计某个进程当前的线程数
    centos7备份系统日志
    mysql删除带外键约束的表的方法
    django.db.models.query.QuerySet格式的数据输出
    Linux命令大全
    django创建多对多表三种方法,和ORM操作增删改查
  • 原文地址:https://www.cnblogs.com/webwangjie/p/14210355.html
Copyright © 2011-2022 走看看