这两者有什么区别?

这个问题在这里已经有了答案:

  • var functionName = function(){} vs function functionName(){} 32个答案
  • 在JavaScript中首选命名函数或匿名函数? [复制] 4个答案

  • 这已经在StackOverflow中多次得到解答。 这只是命名方式。 因此,从答案中拿出一些观点,我会说:

  • 函数声明和变量声明总是通过JavaScript解释器无形地移动(“悬挂”)到其包含范围的顶部。 显然,函数参数和语言定义的名称已经存在。

  • 优点缺点:

    命名功能几乎没有什么优势:

  • meta分析的名称。 functionInstance.name会显示你的名字。
  • 更重要的是,该名称将被打印在堆栈轨迹中。
  • 名字也有助于编写自我记录或识字代码。
  • 命名函数表达式有一个缺点

  • IE有NFE的内存泄漏
  • 另一个主要区别

    区别在于functionTwo在脚本块的parse-time中定义,而functionOne在运行时定义。 例如:

    <script>
      // Error
      functionOne();
    
      var functionOne = function() {
      }
    </script>
    
    <script>
      // No error
      functionTwo();
    
      function functionTwo() {
      }
    </script>
    
  • 参考

  • var functionName = function(){} vs function functionName(){}
  • 在JavaScript中首选命名函数或匿名函数?
  • 命名函数表达式被揭秘
  • 函数声明与函数表达式。
  • var functionName = function(){} vs function functionName(){}

  • 第一个是命名函数表达式,它应该返回一些值给调用者。
  • 第二个只是一个功能,不管你是否回报价值都取决于你
  • 链接地址: http://www.djcxy.com/p/96287.html

    上一篇: What is the difference between these two?

    下一篇: Why Firefox fires load event much earlier than Chrome