C'est ce que j'essaie de construire via JavaScript dans la notation de points ou []: maintenant si "item1" est le nom de la variable Ceci fonctionne: qui retourne mais cela ne fonctionne pas: JS vient de mourir à la ligne 2, pourquoi? et comment puis-je attribuer la valeur de description à la "description"? p> Je le ferais comme ceci: p> ... mais ça fait la clé littéralement itemName code>. P>
var shoppingcart = {}; code>
shoppingcart [itemName] = itemName; code>
alerte (shoppingcart.item1); code>
p> item1 code> p>
1 var shoppingcart = {}; code>
2 ShoppingCart [itemName] ['Description'] = 'Ceci est l'article 1'; Code>
P> itemName code> au lieu de
item1 code>. p> p>
4 Réponses :
ou, mieux encore: p> shoppingcart [itemName] code> n'existe pas.
Vous devez la créer d'abord:
Aussi ShoppingCart [itemName] ['Description'] CODE> est équivalent à
ShoppingCart [itemName] .description code>. Vous n'avez besoin que d'accéder aux propriétés avec
[] code> lorsque vous y accédez dynamiquement
obj [projectstring] code> ou lorsqu'il contient des caractères illégaux pour DOT NOTONN
OBJ [' Nom '] code>
Oui Thnx, c'est ce que j'ai lu partout, mais la clé est que shopping.cart [itemName] = {}; code> Je comprends des objets de plus en plus chaque jour!
Cela ne fonctionne pas car, dans votre deuxième exemple, vous essayez d'indexer un objet vierge avec une clé qui n'a pas été définie. Ce qui suit fonctionnera ...
var shoppingCart = {}; shoppingCart[itemName] = {}; shoppingCart[itemName]['description'] = '...';
dans les objets JavaScript ne crée pas automatiquement l'accès des membres; Vous devez d'abord créer l'objet:
shoppingCart[itemname] = { "description": description, "price": price, "quantity": quantity, "shipping": shipping, "total": total };
juste juste fyi, solution alternative: ou juste p>