Javascript 'colon' pour l'étiquetage des fonctions anonymes?
Que fait ce code reportez-vous trop?
queryString: function() {
//some code
}
Je l'ai testé dans la WebConsole (Firefox), mais il ne serait pas exécuté, donc je pense qu'il n'est pas équivalent à function queryString() {}
.
Donc, c'est quoi exactement?
- devrait être: queryString =
- il est utilisé pour définir des fonctions à l'intérieur des objets ou des classes, donc je pense que vous avez takin hors de portée de l'objet.
Vous devez vous connecter pour publier un commentaire.
Il vous manque un peu de code là, mais je suppose de sa part une déclaration d'objet comme ceci:
Il assigne une fonction comme une propriété d'un objet littéral. Il serait équivalent à ceci:
En général, le littéral d'objet de syntaxe ressemble à ceci:
Donc la raison pour laquelle cela ne fonctionne pas de la console, c'est qu'il n'était pas enfermé dans
{}
caractères, ce qui dénote un objet littéral. Et cette syntaxe est valable que dans un objet littéral.C'est probablement à l'intérieur d'une carte/déclaration d'objet comme suit:
C'est une étiquette https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label
queryString: function() { /* some code */ }
n'est pas équivalent à celui de votre réponse de l'exemple d'une étiquette avant de l'instruction switch. La question de l'exemple est une partie d'un objet littéral de la déclaration, ce qui est totalement différent. Dans la question de l'exemple le symbolequeryString
suivie de deux-points (":
") est le nom de la membre de l'objet, sa valeur est la déclaration de la fonction suivant le côlon.La
:
est utilisé lors de la définition d'un objet et ses propriétés.Maintenant
obj.queryString
est votre fonction.Ce que le
signifie que vous pouvez utiliser queryString() pour appeler la fonction qu'il désigne. Ce type de référencement est généralement utilisé si vous souhaitez définir une classe(ou un pseudo classe ;P) dans votre code javascript. Quelque chose comme ceci,
Alors maintenant, à n'importe quelle autre partie du code, vous pouvez créer des objets pour class_name et l'utiliser pour accéder à la propriété1,propriété2 etc.,