50 votes

Chaque objet est une fonction et chaque fonction est un objet - lequel est correct ?

Je lisais ce lien JavaScript_syntax

Cela semble être cyclique - que chaque fonction est un objet et que chaque objet lui-même est une fonction. Quel est celui atomique ? Quelqu'un peut-il mieux expliquer?

64voto

Aaron Digulla Points 143830
  1. Tout ce qui n'est pas un type primitif (undefined, null, number, string, boolean) est un objet (ou une instance) en JavaScript. Cela signifie que function hérite de object .

  2. Les instances d'objets peuvent contenir plus d'instances qui peuvent être des fonctions. C'est ce que nous appelons une "méthode" (puisqu'elle a une this ).

  3. Puisque vous ne pouvez pas "appeler" chaque instance d'objet, chaque objet n'est pas une fonction.

8voto

Daniel Vandersluis Points 30498

Chaque fonction est un objet. Les objets peuvent contenir des fonctions (méthodes) mais un objet n'est pas nécessairement une fonction.

8voto

fredrik Points 5010

De plus, Function est toujours une propriété d'un object .

Cela signifie que toutes les fonctions de JavaScript sont toujours liées à un objet. Si vous ne spécifiez pas un objet auquel lier une fonction, il est lié à l'objet fenêtre (également appelées fonctions globales)

..fredrik

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X