日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Js中的数据属性和访问器属性

發(fā)布時間:2025/3/20 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Js中的数据属性和访问器属性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Js中的數(shù)據(jù)屬性和訪問器屬性

在javaScript中,對象的屬性分為兩種類型:數(shù)據(jù)屬性和訪問器屬性。

一、數(shù)據(jù)屬性

1.數(shù)據(jù)屬性:它包含的是一個數(shù)據(jù)值的位置,在這可以對數(shù)據(jù)值進行讀寫。

2.數(shù)據(jù)屬性包含四個特性,分別是:

configurable:表示能否通過delete刪除屬性從而重新定義屬性,能否修改屬性的特性,或能否把屬性修改為訪問器屬性,默認為true

?enumerable:表示能否通過for-in循環(huán)返回屬性

?writable:表示能否修改屬性的值

?value:包含該屬性的數(shù)據(jù)值。默認為undefined

如下面這個例子:創(chuàng)建一個對象person,打印出name屬性的特性的默認值

?

?

執(zhí)行結果:

?

?

?

對幾個特性的測試:

?

?

測試結果:

?

?

3.修改數(shù)據(jù)屬性的默認特性

修改屬性屬性的默認特性要用到一個方法:Object.defineProperty()方法,這個方法有三個參數(shù):屬性所在的對象,屬性名,一個描述符對象。

通過這個方法,我們可以來修改一個屬性的這4個特性。

如我們對剛剛上面的penson對象里面的name屬性的特性進行修改:

?

?

執(zhí)行結果:

?

結果中可以看到,person對象的name屬性中的四個特性的值都相應改變了。同時后面的報錯是對configurable這個特性改為false后的局限的測試。

上面的注釋中是分別對各個屬性修改后的影響的測試。大家可以自己運行下試試效果。

?

二、訪問器屬性

1.訪問器屬性:這個屬性不包含數(shù)據(jù)值,包含的是一對get和set方法,在讀寫訪問器屬性時,就是通過這兩個方法來進行操作處理的。

2.訪問器屬性包含的四個特性

configurable:表示能否通過delete刪除屬性從而重新定義屬性,能否修改屬性的特性,或能否把屬性修改為訪問器屬性,默認為false

?enumerable:表示能否通過for-in循環(huán)返回屬性,默認為false

?Get:在讀取屬性時調用的函數(shù),默認值為undefined

?Set:在寫入屬性時調用的函數(shù),默認值為undefined

這里要注意下,訪問器屬性不能直接定義,要通過Object.defineProperty()這個方法來定義。

下面來個例子,創(chuàng)建一個訪問器對象book,接著打印出其year訪問器屬性的特性描述并對其方法進行測試打印:

?

?

執(zhí)行結果:

?

其他兩個特性configurable,enumerable的測試方式可以參照數(shù)據(jù)屬性的。不過在這特別說明下,關于configurable這個特性,因為訪問器屬性里面這個

特性默認值為false,如果程序后面需要對該屬性進行delete操作等,那就在定義訪問器屬性時,將這個特性設置為true,不然這個會導致后面一些報錯的問題。

轉載于:https://www.cnblogs.com/yanan-boke/p/7771264.html

總結

以上是生活随笔為你收集整理的Js中的数据属性和访问器属性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。