2010-06-03 4 views

Répondre

5

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".

2

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é).

Questions connexes