false.toString (); // 'false' [1, 2, 3] .toString (); // '1,2,3'function foo () {} foo.bar = 1; foo.bar; // 1Une chose qui est souvent mal comprise est que les constantes numériques ne peuvent pas être considérées comme des objets, mais en fait, les constantes numériques peuvent toujours être considérées comme des objets. En effet, l'analyseur JavaScript fait une erreur lorsque les opérateurs de points d'analyse et les traitent comme des fonctionnalités de points flottants.
2.ToString (); // soulève une syntaxerror
En fait, nous avons de nombreuses façons de faire un comportement constant numérique comme un objet.
2..ToString (); // Le deuxième point est correctement reconnu2 .toString (); // Notez l'espace laissé au point (2) .toString (); // 2 est évalué en premier
Objet comme type de données
Les objets dans JavaScript peuvent être utilisés comme tables de hachage, et ils contiennent principalement la relation correspondante entre les clés et les valeurs.
Utilisez le symbole {} pour créer un objet simple. Cet objet nouvellement créé héritera de l'objet.prototype et ne contient pas de propriétés qu'il se définit.
var foo = {}; // un nouvel objet vide // un nouvel objet avec une propriété 'test' avec la valeur 12var bar = {test: 12};Accéder aux propriétés de l'objet
Nous pouvons utiliser deux façons d'accéder aux objets JavaScript, à savoir l'opérateur de points. et l'opérateur du support [].
var foo = {name: 'kitten'} foo.name; // kittenfoo ['name']; // kittenvar get = 'name'; foo [get]; // Kittenfoo.1234; // syntaxerrorfoo ['1234']; // travauxLes effets des deux opérateurs sont presque les mêmes, la seule différence est que l'opérateur de support permet des paramètres dynamiques des propriétés et que les noms d'attribut peuvent avoir des erreurs de syntaxe. (Le troisième cas dans l'exemple ci-dessus a été expliqué)
Supprimer les propriétés de l'objet
La seule façon de supprimer une propriété est d'utiliser la suppression, la définition de la valeur de la propriété sur Undefined ou Null Supprimer simplement la valeur associée à la propriété et ne supprime pas vraiment la propriété elle-même.
var obj = {bar: 1, foo: 2, baz: 3}; obj.bar = undefined; obj.foo = null; supprimer obj.baz; for (var i in obj) {if (obj.hasownproperty (i)) {console.log (i, '' + obj [i]); }}La barre de sortie ci-dessus indéfinie et FOO NULL, seul le baz est en fait supprimé.
Il faut expliquer ici que la suppression ne peut supprimer que des attributs, pas des variables. Par conséquent, lors de la définition des variables, nous devons développer la bonne habitude d'écrire Var. À tout moment, les variables doivent être déclarées en utilisant le mot-clé VAR. Parce que si vous n'écrivez pas VAR, la variable sera confondue avec l'objet global et créera une nouvelle propriété.
Cet exemple donne la réponse très clairement, A est une variable, et B n'est qu'une propriété d'un objet global.
Propriétés des objets nommés
var test = {'case': 'Je suis un mot clé, donc je dois être noté en tant que chaîne', supprime: 'Je suis un mot-clé, donc moi aussi' // soulève syntaxerror};Les propriétés d'un objet peuvent être nommées avec des caractères ou des chaînes normaux. Également en raison d'une mauvaise conception de l'analyseur JavaScript, la deuxième méthode de représentation dans l'exemple ci-dessus lancera une erreur dans ECMAScript 5.
La raison de l'erreur est que la suppression est un mot-clé, donc une constante de chaîne doit être nommée pour s'adapter à l'ancienne version de l'analyseur JavaScript.