JS函数笔记

作者: lltree | 来源:发表于2019-07-04 20:46 被阅读0次

    函数声明

    function functionName(parameters) {
       要执行的代码
    }
    

    函数表达式(匿名函数)

    var functionName  = function(parameters) {
       要执行的代码
    }
    
    //执行
    functionName(parameters)
    

    Function() 构造器

    如您在之前的例子中看到的,JavaScript 函数是通过 function 关键词定义的。
    函数也可以通过名为 Function() 的内建 JavaScript 函数构造器来定义。

    var myFunction = new Function("a", "b", "return a * b");
    
    var x = myFunction(4, 3);
    

    函数提升

    Hoisting 是 JavaScript 将声明移动到当前作用域顶端的默认行为。
    Hoisting 应用于变量声明和函数声明。
    正因如此,JavaScript 函数能够在声明之前被调用:

    myFunction(5);
    
     function myFunction(y) {
         return y * y;
    }
    

    使用表达式定义的函数不会被提升。

    自调用函数

    函数表达式(匿名函数)可以作为“自调用”。函数定义的其中一种
    自调用表达式是自动被调用(开始)的,在不进行调用的情况下。
    函数表达式会自动执行,假如表达式后面跟着 ()。
    您无法对函数声明进行自调用。
    您需要在函数周围添加括号,以指示它是一个函数表达式:
    实例

    (function () {
        var x = "Hello!!";      //我会调用我自己
    })();
    
    //
    (function () {
        var x = "Hello!!";      //我会调用我自己
    })相当于返回一个函数指针
    

    箭头函数

    不需要 function 关键字、return 关键字和花括号
    箭头函数没有自己的 this。它们不适合定义对象方法。
    箭头函数未被提升。它们必须在使用前进行定义。
    使用 const 比使用 var 更安全,因为函数表达式始终是常量值。

    / ES5
    var x = function(x, y) {
      return x * y;
    }
    
    // ES6
    const x = (x, y) => x * y;
    等价于
    `如果函数是单个语句,则只能省略 return 关键字和大括号。因此,保留它们可能是一个好习惯:`
    const x = (x, y) => {
          return x * y;
    }
    

    相关文章

      网友评论

        本文标题:JS函数笔记

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