跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 匿名函数 function anonymous( ) 和直接写 function() 有区别吗?
未分類
12 5 月 2020

匿名函数 function anonymous( ) 和直接写 function() 有区别吗?

匿名函数 function anonymous( ) 和直接写 function() 有区别吗?

資深大佬 : lisisi 6

报错的时候有区别,前者能追踪到函数名称
大佬有話說 (11)

  • 資深大佬 : silaike

    var a = function a() {
    console.log(a)
    }
    var b = a
    a = 1
    b() // ƒ a()

    ——————

    var a = function() {
    console.log(a)
    }
    var b = a
    a = 1
    b() // 1

    不过一般没人这么写,也就面试可能会考.

  • 資深大佬 : rabbbit

    闭包

  • 資深大佬 : xiaoriri666

    var a = function factorial(n) { return n <= 1 ? 1 : n * factorial(n – 1) };

    为匿名函数命名,可以在这个函数内部递归调用自身提供一个访问的方式

  • 資深大佬 : l1nyanm1ng

    每次写到匿名函数,eslint 都会警告不要匿名,但有不想起名字,就用箭头函数代替了

  • 資深大佬 : zhw2590582

    > (function anonymous(){}).name
    < “anonymous”
    > (function (){}).name
    > “”

  • 資深大佬 : noe132

    可以引用自己实现递归调用,并且不会把函数名暴露给当前作用域。

  • 資深大佬 : DOLLOR

    后者很正经,但是很不 javascript 风

  • 資深大佬 : julyclyde

    为啥会有这种问题….

  • 資深大佬 : CodingNaux

    具名函数可以在函数里进行递归调用;具名函数可以在函数栈报错时显示名字 恩不是 at anonymours (xxx.js 53)
    来自 You don’t know js

  • 資深大佬 : azcvcza

    https://github.com/lizhongzhen11/lizz-blog/issues/82

    与这个函数名问题有点关系

  • 資深大佬 : lizz666

    有个问题,function anonymous( ) 是不是就不算匿名函数了。。。

    > (function(){haha})()
    Uncaught ReferenceError: haha is not defined
    at repl:1:13
    > (function a(){haha})()
    Uncaught ReferenceError: haha is not defined
    at a (repl:1:15)
    > (a=function(){haha})()
    Uncaught ReferenceError: haha is not defined
    at a (repl:1:15)

    注意看错误提示的内容是不一样的,后面两个会告诉你是“函数 a”出了错。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具