JavaScript,为什么函数名在函数文字中没有意义?

问题描述:

我对函数文本JavaScript,为什么函数名在函数文字中没有意义?

  1. 有些疑惑为什么在函数文本函数名有没有意义?
  2. 他们为什么不重要?
  3. 为什么在我们尝试在函数文字的情况下使用函数名称进行调用时,函数不会被调用?

    var a = function b(){ 
         //some code 
         } 
    b(); //Doesn't work 
    

为什么名字b的毫无意义,但是一个呢?

我是新来的JavaScript和初学者,所以任何帮助将不胜感激!

+0

请参阅:https://*.com/documentation/javascript/186/functions/4877/named-functions#t=201707081325420732181和https://*.com/documentation/javascript/186/functions/726/匿名函数#t = 201707081325420732181 – Nisarg

+0

'a.name ==“b”'肯定有意义 – Bergi

名称b仅在函数内部有意义。外面你必须通过a调用功能。

+0

Ik那,但是为什么!这是我的问题!为什么没有意义?我不明白为什么... –

+0

@MohammedShoaib因为它是一个表达式,并没有声明一个名字,比如'var'或'function'。这就是它的工作原理。 – Bergi

+0

当你声明一些匿名函数时,这个函数是有用的,并且这个函数必须有权访问它自己的属性。但是如何?在这种情况下,命名函数声明可以帮助你。例如:'var a = function b(){b.prop = 42; }'。没有'b'名称属性不可访问。 – mentalMedley