2017-07-08 4 views
0

j'ai eu quelques doutes pour littéraux de fonctionJavaScript, Pourquoi le nom de fonction n'a-t-il aucune signification dans les littéraux de fonction?

  1. Pourquoi le nom de fonction dans les littéraux de fonction ont aucune signification? Pourquoi ne sont-ils pas importants?
  2. Pourquoi la fonction n'est pas invoquée lorsque nous essayons d'appeler en utilisant le nom de la fonction dans le cas de littéraux de fonction?

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

Pourquoi le nom b ont aucune signification mais fait? Je suis nouveau sur JavaScript et un débutant donc toute aide serait appréciée!

+0

Voir ceci: https://stackoverflow.com/documentation/javascript/186/functions/4877/named-functions#t=201707081325420732181 et https://stackoverflow.com/documentation/javascript/186/functions/726/ anonymous-function # t = 201707081325420732181 – Nisarg

+0

'a.name ==" b "' a certainement une signification – Bergi

Répondre

0

Le nom b a uniquement une signification à l'intérieur de la fonction. Dehors, vous devez appeler la fonction via a.

+0

Ik cela, mais pourquoi! C'est ma question! Pourquoi b n'a pas de signification ?! Je ne comprends pas pourquoi ... –

+0

@MohammedShoaib parce que c'est une expression et ne déclare pas un nom, comme 'var' ou' function'. C'est juste comment ça fonctionne. – Bergi

+0

Il est utile lorsque vous déclarez une fonction anonyme et que cette fonction doit avoir accès à ses propres propriétés. Mais comment? Les déclarations de fonction nommées vous aident dans ce cas. Exemple: 'var a = fonction b() {b.prop = 42; } '. Sans les propriétés de nom de 'b' inaccessibles. – mentalMedley