搜尋
首頁web前端js教程js中如何複製一個物件並取得其所有屬性和屬性對應的值_javascript技巧

在js中如何複製一個對象,例如如下一個js對象。

如果知道這個物件的所有屬性自然就可以重新new一個,然後對每個屬性賦值,就可以做到,但如果不知道呢?如何創建一個內容相同 的物件呢?

複製程式碼 程式碼如下:

var obj={ colkey: "col", cols: "colinfo "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 屬性不考慮原型鏈中的物件。
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何在Python中复制对象?如何在Python中复制对象?Aug 25, 2023 pm 08:33 PM

在Python中,如果你想复制对象,赋值运算符将无法达到目的。它在目标和对象之间创建绑定,即它从不创建新对象。它仅创建一个共享原始对象引用的新变量。为了解决这个问题,提供了复制模块。该模块具有通用的浅复制和深复制操作。浅拷贝浅拷贝构造一个新的复合对象,然后将引用插入到原始对象中。它使用以下方法复制对象−copy.copy(x)Returnashallowcopyofx.深度复制深拷贝构造一个新的复合对象,然后递归地将原始对象中的对象的副本插入其中。它使用以下方法复制对象 &am

Python中如何使用getattr()函数获取对象的属性值Python中如何使用getattr()函数获取对象的属性值Aug 22, 2023 pm 03:00 PM

Python中如何使用getattr()函数获取对象的属性值在Python编程中,我们经常会遇到需要获取对象属性值的情况。Python提供了一个内置函数getattr()来帮助我们实现这个目标。getattr()函数允许我们通过传递对象和属性名称作为参数来获取该对象的属性值。本文将详细介绍getattr()函数的用法,并提供实际的代码示例,以便更好地理解。g

利用 jQuery 快速更新表格行属性值的实用技巧利用 jQuery 快速更新表格行属性值的实用技巧Feb 25, 2024 pm 02:51 PM

标题:实用提示:利用jQuery快速修改表格行的属性值在网页开发中,常常会遇到需要通过JavaScript来动态修改表格行的属性值的情况。而利用jQuery,可以在编写简洁、高效的代码的同时,快速实现这一功能。下面将分享一些实用的提示,以便在实际项目中更加方便地操作和修改表格行的属性值。1.获取表格行的属性值在使用jQuery修改表格行的属性

jQuery中如何检查元素是否包含某个属性值?jQuery中如何检查元素是否包含某个属性值?Feb 28, 2024 pm 02:54 PM

在jQuery中,我们经常需要检查元素是否包含特定的属性值。这样做可以帮助我们根据元素上的属性值执行相应的操作。在本文中,我将介绍如何使用jQuery来检查元素是否包含某个属性值,并提供具体的代码示例。首先,让我们先了解一下jQuery中的一些常用方法来操作元素的属性:.attr():用于获取或设置元素的属性值。.prop():用于获取或设置元素的属性值

jQuery技巧:灵活运用属性值的改变jQuery技巧:灵活运用属性值的改变Feb 23, 2024 am 09:48 AM

jQuery技巧:灵活运用属性值的改变在网页开发中,经常会遇到需要动态改变元素的属性值的情况。而jQuery作为一个功能强大的JavaScript库,提供了许多便捷的方法和技巧来实现这一目的。本文将通过具体的代码示例介绍如何灵活运用jQuery来改变属性值,让你的网页更加动态和生动。一、改变文本内容首先,让我们来看一个最简单的例子:改变元素的文本内容。假设我

深入了解HTML中display属性的各种的属性值及用法深入了解HTML中display属性的各种的属性值及用法Feb 02, 2024 pm 12:02 PM

学习HTML中display属性的多种属性值及其使用方法,需要具体代码示例在HTML中,display属性用于控制元素的显示方式。通过不同的display属性值,我们可以改变元素的布局方式和显示效果。在本文中,我们将学习display属性的多种属性值及其使用方法,并提供具体的代码示例。blockblock是display属性的默认值,它使元素以块级方式显示。

掌握绝对定位的常见属性值,让你的页面元素随心摆放掌握绝对定位的常见属性值,让你的页面元素随心摆放Jan 18, 2024 am 10:01 AM

掌握绝对定位的常见属性值,让你的页面元素随心摆放,需要具体代码示例绝对定位(absolutepositioning)是CSS中常用的定位方法之一,它允许我们将元素相对于其最近的带有定位属性的父元素进行定位。掌握绝对定位的常见属性值,我们可以轻松地控制页面元素的位置和布局。1.定位元素的基本概念在使用绝对定位之前,我们需要先了解一些基本概念。父元素指的是具

学习绝对定位的常用属性值,打造独特的网页布局学习绝对定位的常用属性值,打造独特的网页布局Jan 18, 2024 am 09:52 AM

学习绝对定位的常用属性值,打造独特的网页布局,需要具体代码示例一、导言如今,网页设计已经成为人们日常生活的一部分。为了使网页布局更加独特和美观,我们可以利用CSS中的绝对定位属性来实现。本文将介绍绝对定位的常用属性值,并提供代码示例,帮助读者更好地学习和应用。二、绝对定位的概念和作用绝对定位是CSS中的一种定位方式,它允许我们将元素精确地放置在网页的指定位置

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版