“var x = function function_name()”是啥意思? [复制]

Posted

技术标签:

【中文标题】“var x = function function_name()”是啥意思? [复制]【英文标题】:What does it means "var x = function function_name()"? [duplicate]“var x = function function_name()”是什么意思? [复制] 【发布时间】:2016-11-12 21:26:43 【问题描述】:

我是 javascript 新手,最近开始维护别人的 JavaScript 代码。

前面的代码有这个块:

someObject.someFunction1.someFuction$i_2 = function somefunction$i_3(x,y)...

我想知道它是什么意思?并且 sign"$" 仅仅意味着一个有效的 JavaScript 标识符吗?当我通过 Chrome 使用 consolo 时,它会告诉我:

typeof someObject = Object
typeof someObject.someFunction1 = function
typeof someObject.someFunction1.someFuction$i_2 = function
typeof somefunction$i_3 = not defined

我只知道:

var functionOne = function() 
    // Some code
;

但是,我不知道:

x = function function_name()

【问题讨论】:

【参考方案1】:

这是在javascript中定义函数的一种方式 通常称为named function expression

var x = function function_name()
  //Rest of the code

但是这个函数只能通过x()调用,不能通过function_name()调用。 function_name 只能在函数内部访问 & 有助于递归

看看this & this

【讨论】:

【参考方案2】:

    $ 符号在 javaScript 中的处理方式与字母相同,因此允许将 $ 作为函数名的一部分。你甚至可以拥有

    函数 $(x) ...

    表达式

    x = function function_name()

称为`命名函数表达式,当你想在自身内部引用函数时它们很有用。更多关于为什么要使用命名函数表达式here

【讨论】:

以上是关于“var x = function function_name()”是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章