Maison interface Web js tutoriel js中如何复制一个对象并获取其所有属性和属性对应的值_javascript技巧

js中如何复制一个对象并获取其所有属性和属性对应的值_javascript技巧

May 16, 2016 pm 05:19 PM
copier un objet valeur d'attribut

在js中如何复制一个对象,例如如下一个js对象。

如果知道这个对象的所有属性自然就可以重新new一个,然后对每个属性赋值,就可以做到,但如果不知道呢?如何创建一个内容相同 的对象呢?

复制代码 代码如下:

var obj={ colkey: "col", colsinfo: "NameList" }

最简单就是使用for in,

例如obj2就拥有了和obj完全相同的属性
复制代码 代码如下:

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

其实这种方式有一定的限制,关键是js中for in有一定限制,并不会遍历对象的所有属性,只会遍历可枚举的属性,由js核心定义的方法都是不可枚举的,例如tostring(),但代码中定义的属性都是可枚举的(可以通过特殊定义为不可枚举的)。因此这个方法就够用了。

一个对象是否可以进行for in穷举,我们可以通过propertyIsEnumerable属性来判断,说明如下:
propertyIsEnumerable 属性
返回 Boolean 值,指出所指定的属性是否为一个对象的一部分以及该属性是否是可列举的。
object.propertyIsEnumerable(proName)
参数
object
必选项。一个对象。
proName
必选项。一个属性名称的字符串值。
说明
如果 proName 存在于 object 中且可以使用一个 For…In 循环穷举出来,那么 propertyIsEnumerable 属性返回 true。如果 object 不具有所指定的属性或者所指定的属性不是可列举的,那么 propertyIsEnumerable 属性返回 false。典型地,预定义的属性不是可列举的,而用户定义的属性总是可列举的。
propertyIsEnumerable 属性不考虑原型链中的对象。
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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment copier des objets en Python ? Comment copier des objets en Python ? Aug 25, 2023 pm 08:33 PM

Comment copier des objets en Python ?

Comment utiliser la fonction getattr() en Python pour obtenir la valeur d'attribut d'un objet Comment utiliser la fonction getattr() en Python pour obtenir la valeur d'attribut d'un objet Aug 22, 2023 pm 03:00 PM

Comment utiliser la fonction getattr() en Python pour obtenir la valeur d'attribut d'un objet

Conseils pratiques pour mettre à jour rapidement les valeurs des attributs des lignes de tableau à l'aide de jQuery Conseils pratiques pour mettre à jour rapidement les valeurs des attributs des lignes de tableau à l'aide de jQuery Feb 25, 2024 pm 02:51 PM

Conseils pratiques pour mettre à jour rapidement les valeurs des attributs des lignes de tableau à l'aide de jQuery

Comment vérifier si un élément contient une valeur d'attribut dans jQuery ? Comment vérifier si un élément contient une valeur d'attribut dans jQuery ? Feb 28, 2024 pm 02:54 PM

Comment vérifier si un élément contient une valeur d'attribut dans jQuery ?

Conseils jQuery : utiliser de manière flexible les modifications des valeurs d'attribut Conseils jQuery : utiliser de manière flexible les modifications des valeurs d'attribut Feb 23, 2024 am 09:48 AM

Conseils jQuery : utiliser de manière flexible les modifications des valeurs d'attribut

Apprenez la propriété overflow en CSS : compréhension approfondie des valeurs communes pour le positionnement absolu Apprenez la propriété overflow en CSS : compréhension approfondie des valeurs communes pour le positionnement absolu Dec 28, 2023 am 09:29 AM

Apprenez la propriété overflow en CSS : compréhension approfondie des valeurs communes pour le positionnement absolu

Apprenez les valeurs d'attribut communes du positionnement absolu et créez une mise en page Web unique Apprenez les valeurs d'attribut communes du positionnement absolu et créez une mise en page Web unique Jan 18, 2024 am 09:52 AM

Apprenez les valeurs d'attribut communes du positionnement absolu et créez une mise en page Web unique

Compréhension approfondie des différentes valeurs d'attribut et de l'utilisation de l'attribut display en HTML Compréhension approfondie des différentes valeurs d'attribut et de l'utilisation de l'attribut display en HTML Feb 02, 2024 pm 12:02 PM

Compréhension approfondie des différentes valeurs d'attribut et de l'utilisation de l'attribut display en HTML

See all articles