zoukankan      html  css  js  c++  java
  • 为什么给函数表达式添加函数名

    看一些框架的源码(非压缩)的时候,偶尔会看到他们会给函数表达式添加函数名。
    比如以下代码:

    // 不给函数表达式添加函数名看起来会更简洁
    setTimeout(function () {
      console.log('foo');
    }, 1000);
    
    // 添加函数名
    setTimeout(function foo() {
      console.log('foo');
    }, 1000);
    

    事实上,给函数表达式添加函数名是一种最佳实践,有下面几点理由:

    1、如果代码出错,有函数名可以快速定位错误位置,否则匿名函数在栈追踪中不会显示出有意义的函数名,调试困难。

    2、没有函数名,函数想引用自身需要依靠已经废弃的arguments.callee。有一个经典的例子是,使用removeEventListener()需要解绑事件函数,也就是自身。

    3、函数名能提高代码的可读性可理解性,一堆匿名函数会让代码变得混乱。

  • 相关阅读:
    Redis 基本数据类型
    Redis的安装
    Redis介绍
    JavaWeb Servlet
    深入理解JVM1
    JavaWeb Request和Response
    移动端获取屏幕宽度
    meta标签大全(荐)
    网页加载进度条
    每个JavaScript程序员都需要知道的5个数组方法
  • 原文地址:https://www.cnblogs.com/wljqds/p/11280135.html
Copyright © 2011-2022 走看看