2017-07-08 35 views
0

我對函數文本JavaScript,爲什麼函數名在函數文字中沒有意義?

  1. 有些疑惑爲什麼在函數文本函數名有沒有意義?
  2. 他們爲什麼不重要?
  3. 爲什麼在我們嘗試在函數文字的情況下使用函數名稱進行調用時,函數不會被調用?

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

爲什麼名字b的毫無意義,但是一個呢?

我是新來的JavaScript和初學者,所以任何幫助將不勝感激!

+0

請參閱:https://stackoverflow.com/documentation/javascript/186/functions/4877/named-functions#t=201707081325420732181和https://stackoverflow.com/documentation/javascript/186/functions/726/匿名函數#t = 201707081325420732181 – Nisarg

+0

'a.name ==「b」'肯定有意義 – Bergi

回答

0

名稱b僅在函數內部有意義。外面你必須通過a調用功能。

+0

Ik那,但是爲什麼!這是我的問題!爲什麼沒有意義?我不明白爲什麼... –

+0

@MohammedShoaib因爲它是一個表達式,並沒有聲明一個名字,比如'var'或'function'。這就是它的工作原理。 – Bergi

+0

當你聲明一些匿名函數時,這個函數是有用的,並且這個函數必須有權訪問它自己的屬性。但是如何?在這種情況下,命名函數聲明可以幫助你。例如:'var a = function b(){b.prop = 42; }'。沒有'b'名稱屬性不可訪問。 – mentalMedley

相關問題