qu'est-ce que cela signifie quand vous définissez une fonction comme celui-cice qui ne fonctionne setState: function() {signifie
setState: function(){
}
qu'est-ce que cela signifie quand vous définissez une fonction comme celui-cice qui ne fonctionne setState: function() {signifie
setState: function(){
}
Le code est incomplet, mais il semble que vous attribuer une fonction de la valeur à un propriété appelée setState
d'un objet qui n'apparaît pas dans votre code.
Un exemple:
var myObject = {
prop1: 'abc',
prop2: function() {
alert('def');
}
};
Ci-dessus, je crée une variable appelée myObject
qui est un objet avec deux propriétés, prop1
et prop2
. Le premier est une chaîne. Si j'écris alert(myObject.prop1)
il alertera "abc".
La seconde est une fonction. Si j'écris myObject.prop2()
, j'exécuterai cette fonction, qui alertera "def".
qui apparaissent dans le contexte d'un littéral objet , comme ceci:
var obj = {
setState: function(){
}
};
Il attribue la fonction à la propriété nommée de l'objet. La fonction est anonyme (elle n'a pas de nom), bien que la propriété ait un nom. Vous pouvez appeler la fonction comme ceci:
obj.setState();
notation littérales est essentiellement une série de propname: value
entre accolades ({}
), séparés par des virgules, où value
peut être une valeur valide — une chaîne, un nombre, un référence de la fonction ... Le nom de la propriété peut apparaître littéralement, comme dans votre exemple, ou entre guillemets ("propname": value
) si le nom littéral est un mot réservé (par exemple, vous aurez besoin de guillemets pour une propriété appelée var
car var
est un mot réservé).