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

js中如何複製一個物件並取得其所有屬性和屬性對應的值_javascript技巧

May 16, 2016 pm 05:19 PM
複製對象 屬性值

在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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1246
24
如何在Python中複製物件? 如何在Python中複製物件? Aug 25, 2023 pm 08:33 PM

在Python中,如果你想複製對象,賦值運算子將無法達到目的。它在目標和物件之間建立綁定,即它從不建立新物件。它僅創建一個共享原始物件引用的新變數。為了解決這個問題,提供了複製模組。此模組具有通用的淺複製和深複製操作。淺拷貝淺拷貝建構一個新的複合對象,然後將引用插入到原始對象。它使用以下方法複製對象−copy.copy(x)Returnashallowcopyofx.深度複製深拷貝構造一個新的複合對象,然後遞歸地將原始對像中的對象的副本插入其中。它使用以下方法複製物件 &am

利用 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():用於取得或設定元素的屬性值

Python中如何使用getattr()函數來取得物件的屬性值 Python中如何使用getattr()函數來取得物件的屬性值 Aug 22, 2023 pm 03:00 PM

Python如何使用getattr()函數來取得物件的屬性值在Python程式設計中,我們常常會遇到需要取得物件屬性值的情況。 Python提供了一個內建函數getattr()來幫助我們實現這個目標。 getattr()函數允許我們透過傳遞物件和屬性名稱作為參數來取得該物件的屬性值。本文將詳細介紹getattr()函數的用法,並提供實際的程式碼範例,以便更好地理解。 g

jQuery技巧:靈活運用屬性值的改變 jQuery技巧:靈活運用屬性值的改變 Feb 23, 2024 am 09:48 AM

jQuery技巧:靈活運用屬性值的改變在網頁開發中,常常會遇到需要動態改變元素的屬性值的情況。而jQuery作為一個強大的JavaScript函式庫,提供了許多便捷的方法和技巧來實現這個目的。本文將透過具體的程式碼範例介紹如何靈活運用jQuery來改變屬性值,讓你的網頁更動態生動。一、改變文字內容首先,讓我們來看一個最簡單的例子:改變元素的文字內容。假設我

jQuery入門:簡單學習屬性值的調整 jQuery入門:簡單學習屬性值的調整 Feb 23, 2024 pm 03:39 PM

jQuery入門:簡單學習屬性值的調整jQuery是一款廣泛應用於網頁開發中的JavaScript庫,它可以簡化HTML文件的操作、事件處理、動畫效果等。在使用jQuery中,對元素屬性值的調整是一項常見且重要的操作。透過本文,我們將學習如何使用jQuery來操作元素的屬性值,並提供具體的程式碼範例。一、引入jQuery函式庫在開始學習jQuery之前,首先需要在

使用jQuery設定元素多個屬性值的技巧分享 使用jQuery設定元素多個屬性值的技巧分享 Feb 20, 2024 pm 11:42 PM

使用jQuery設定元素多個屬性值的技巧分享在前端開發中,常常會遇到需要設定元素多個屬性值的情況。 jQuery是一個受歡迎的JavaScript函式庫,它提供了許多方便的方法來操作元素和屬性。今天我們就來分享一些使用jQuery設定元素多個屬性值的技巧,讓你的前端開發更有效率。方法一:使用.attr()方法.attr()方法可以用來設定單一屬性的值,當需要設

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

學習HTML中display屬性的多種屬性值及其使用方法,需要具體程式碼範例在HTML中,display屬性用於控制元素的顯示方式。透過不同的display屬性值,我們可以改變元素的佈局方式和顯示效果。在本文中,我們將學習display屬性的多種屬性值及其使用方法,並提供具體的程式碼範例。 blockblock是display屬性的預設值,它使元素以區塊級方式顯示。

See all articles