Maison > interface Web > js tutoriel > le corps du texte

Utiliser des variables pour définir dynamiquement les noms d'attributs js_compétences javascript

WBOY
Libérer: 2016-05-16 16:33:28
original
1526 Les gens l'ont consulté

Cible : les noms d'attributs js peuvent utiliser des variables

Exemple : objet js, lors de l'attribution d'attributs à l'objet, vous pouvez utiliser la méthode suivante

Copier le code Le code est le suivant :

objet var ;
objet.prop1 = "valeur1";
objet.prop2 = "valeur2";

Vous pouvez également utiliser la méthode suivante :
Copier le code Le code est le suivant :

object.push({prop1:"value1"});
object.push({prop2:"value2"});

Ici, prop1 est utilisé comme nom d'attribut, qui peut être utilisé directement ou entre guillemets, tels que :
Copier le code Le code est le suivant :

object.push({"prop1":"value1"});
Le sens de l'expression est le même, c'est-à-dire que prop1 ne peut être reconnu que comme une constante, même si c'est une variable, cela ne sert à rien, par exemple :

Copier le code Le code est le suivant :
var prop1 = "prop2";
object.push({prop1:"value1"});

Que se passe-t-il lorsque vous accédez à prop2 via un objet de cette manière ? Par exemple :


alert(object.prop2)

Pas besoin de demander, bien sûr ce n'est pas défini, mais accéder à object.prop1 est "value1"
La raison a déjà été mentionnée. Que les guillemets soient inclus ou non, les attributs sont traités comme des constantes :


Copier le code Le code est le suivant : var arr=[];
arr['js']='jquery';
arr['css']='oocss';
var obj={};
pour(var i dans arr)
{

obj.i=arr[i];
} alerte(obj.js);




Lecteurs, devinez ce que l'alerte imprimera ?

Bien sûr, ce n'est pas défini.

Devinez encore, qu'est-ce qui sera imprimé si alert(obj.i) ?

Bien sûr que c'est oocss, pourquoi ? Parce que obj n'a désormais qu'un seul attribut i, et à travers deux boucles, le devant de obj.i est écrasé par ce dernier.

S'il y a une demande, vous devez ajouter des attributs de manière dynamique, c'est-à-dire que l'attribut doit également être une variable. Comme dans l'exemple de code ci-dessus, alert(obj.js) n'est pas indéfini, mais jquery Comment faire. le modifier ?


Copier le code Le code est le suivant : var arr=[];
arr['js']='jquery';
arr['css']='oocss';
var obj={};
pour(var i dans arr)
{

obj[i]=arr[i];
} alerte(obj.js);



C'est aussi simple que cela ! Traitez l'objet obj comme un tableau, qui prend en charge l'utilisation de méthodes similaires aux indices pour attribuer des attributs et des valeurs d'attribut à l'objet. Cependant, l'objet est toujours un objet et obj.length n'existe pas. >

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!