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

Explication détaillée de la façon dont javascript obtient des objets et copie des objets.

伊谢尔伦
Libérer: 2017-07-21 13:37:42
original
1291 Les gens l'ont consulté

Comprendre toutes les propriétés et méthodes d'un objet JS, obtenir toutes les propriétés et méthodes d'un objet, Le code de base et le principe sont les suivants :

function displayProp(obj){  
  var names="";   
  for(var name in obj){   
    names+=name+": "+obj[name]+", "; 
  } 
  alert(names); 
}
Copier après la connexion

Si vous connaître toutes les propriétés de cet objet Naturellement, vous pouvez en créer un nouveau et attribuer une valeur à chaque attribut, et vous pouvez le faire, mais que se passe-t-il si vous ne le savez pas ? Comment créer un objet avec le même contenu ?

var obj={ colkey: "col", colsinfo: "NameList" }
Copier après la connexion

Le moyen le plus simple est d'utiliser for in.
Par exemple, obj2 a exactement les mêmes attributs que obj

var obj2=new Object(); 
for(var p in obj) 
{ 
var name=p;//属性名称 
var value=obj[p];//属性对应的值 
obj2[name]=obj[p]; 
}
Copier après la connexion

En fait, cette méthode a certaines limites. . La clé est qu'il existe certaines limitations pour for in dans js. Il ne traversera pas toutes les propriétés de l'objet, mais uniquement les propriétés énumérables. Les méthodes définies par le noyau js ne sont pas énumérables, comme tostring(), mais le. les propriétés définies dans le code sont toutes énumérables (peuvent être spécifiquement définies comme non énumérables). Cette méthode est donc suffisante.
Si un objet peut être exhaustif, nous pouvons le juger grâce à l'attribut propertyIsEnumerable. La description est la suivante :
attribut propertyIsEnumerable
Renvoie une valeur booléenne, indiquant si l'attribut spécifié fait partie d'un objet. et l'attribut S'il est énumérable.
object.propertyIsEnumerable(proName)
Paramètres
objet
Obligatoire. un objet.
proName
Obligatoire. Une valeur de chaîne pour le nom de la propriété.
Explication
Si proName existe dans l'objet et peut être épuisé à l'aide d'une boucle For...In, alors la propriété propertyIsEnumerable renvoie true. La propriété propertyIsEnumerable renvoie false si l'objet n'a pas la propriété spécifiée ou si la propriété spécifiée n'est pas énumérable. En règle générale, les propriétés prédéfinies ne sont pas énumérables, alors que les propriétés définies par l'utilisateur sont toujours énumérables.
La propriété propertyIsEnumerable ne prend pas en compte les objets dans la chaîne de prototypes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

É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