亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Object.defineproperty方法示例詳解

 更新時間:2022年12月22日 12:54:32   作者:紫陌~  
Object.defineproperty?的作用就是直接在一個對象上定義一個新屬性,或者修改一個已經存在的屬性,這篇文章主要介紹了Object.defineproperty方法,需要的朋友可以參考下

Object.defineproperty 的作用就是直接在一個對象上定義一個新屬性,或者修改一個已經存在的屬性

Object.defineproperty可以接收三個參數

Object.defineproperty(obj, prop, desc)

obj :  第一個參數就是要在哪個對象身上添加或者修改屬性

prop : 第二個參數就是添加或修改的屬性名

desc : 配置項,一般是一個對象

來一個簡單的例子

 let  person = {
        name:"碼農",
        age: 18
          }
          Object.defineProperty(person,'sex',{
            value:"男"
          })
          console.log(person)

 這不就是添加了

第三個參數里面還有6個配置控住屬性

    writable:	是否可重寫
 
    value:  	當前值
 
    get:    	 讀取時內部調用的函數
 
	set:        寫入時內部調用的函數
	
	enumerable: 	是否可以遍歷
 
	configurable: 	是否可再次修改配置項
        let  person = {
        name:"碼農",
        age: 18
          }
          Object.defineProperty(person,'sex',{
              value:"男",       //設置屬性值
              enumerable:true, //控制屬性是否可以枚舉,默認值是false
              writable:true, //控制屬性是否可以被修改,默認值是false
              configurable:true //控制屬性是否可以被刪除,默認值是false
          })
          console.log(person)

  • writable:true           控制屬性是否可以被修改,控制臺也看的當為TRUE的時候屬性值可以被修改
  • configurable:true      控制屬性是否可以被刪除
  • enumerable:true      控制屬性是否可以枚舉,true的話簡單的說就是可以遍歷獲取該值

還有最重要的兩個屬性 set和get(即存取器描述:定義屬性如何被存?。?,這兩個屬性是干嘛的?

注意:當使用了getter或setter方法,不允許使用writable和value這兩個屬性(如果使用,會直接報錯滴)

  get 是獲取值的時候的方法,類型為 function ,獲取值的時候會被調用,不設置時為undefined

  set 是設置值的時候的方法,類型為 function ,設置值的時候會被調用,undefined

  get或set不是必須成對出現,任寫其一就可以

代碼來看看

 let number = 18
        let person = {
            name:'碼農',
            sex:'男',
        }
 
        Object.defineProperty(person,'age',{
            //當有人讀取person的age屬性時,get函數(getter)就會被調用,且返回值就是age的值
            get(){
                console.log('有人讀取age屬性了')
                return number
            },
            //當有人修改person的age屬性時,set函數(setter)就會被調用,且會收到修改的具體值
            set(value){
                console.log('有人修改了age屬性,且值是',value)
                number = value
            }
        })
        console.log(person)

get:當有人讀取person的age屬性時,get函數(getter)就會被調用,且返回值就是age的值

set:當有人修改person的age屬性時,set函數(setter)就會被調用,且會收到修改的具體值

可以實現一個數據的聯動效果

到此這篇關于Object.defineproperty方法的文章就介紹到這了,更多相關Object.defineproperty方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解決webpack無法通過IP地址訪問localhost的問題

    解決webpack無法通過IP地址訪問localhost的問題

    下面小編就為大家分享一篇解決webpack無法通過IP地址訪問localhost的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • js如何對元素可視區(qū)域進行判定

    js如何對元素可視區(qū)域進行判定

    在前端開發(fā)中,有時候我們需要判斷一個元素是否在可視區(qū)域內,本文主要介紹了js如何對元素可視區(qū)域進行判定,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • dwr spring的集成實現代碼

    dwr spring的集成實現代碼

    需正確使用new和spring,注意兩者的區(qū)別
    2009-03-03
  • Javascript中click與blur事件的順序詳析

    Javascript中click與blur事件的順序詳析

    這篇文章主要給大家介紹了關于Javascript中click與blur事件順序的相關資料,文中介紹的非常詳細,對大家學習或者使用Javascript中的click與blur事件具有一定的參考學習價值,需要的朋友可以下面來一起看看吧。
    2017-04-04
  • 使用Nginx部署前端項目的詳細步驟記錄

    使用Nginx部署前端項目的詳細步驟記錄

    在實際開發(fā)中我們通常會使用Nginx來部署前端靜態(tài)頁面,以提供快速訪問速度和良好的用戶體驗,這篇文章主要給大家介紹了關于使用Nginx部署前端項目的詳細步驟,需要的朋友可以參考下
    2024-08-08
  • JavaScript一元正號運算符示例代碼

    JavaScript一元正號運算符示例代碼

    這篇文章主要給大家介紹了關于JavaScript一元正號運算符的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用JavaScript具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • JavaScript Function函數類型介紹

    JavaScript Function函數類型介紹

    在JS中,Function(函數)類型實際上是對象;每個函數都是Function類型的實例;而且都與其他引用類型一樣具有屬性和方法
    2015-04-04
  • JS使用數組實現的隊列功能示例

    JS使用數組實現的隊列功能示例

    這篇文章主要介紹了JS使用數組實現的隊列功能,結合實例形式分析了javascript基于數組的隊列定義、元素添加、讀取等相關操作技巧,需要的朋友可以參考下
    2019-03-03
  • 微信小程序實現省市區(qū)三級地址選擇

    微信小程序實現省市區(qū)三級地址選擇

    這篇文章主要為大家詳細介紹了微信小程序實現省市區(qū)三級地址選擇,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Ajax局部更新導致JS事件重復觸發(fā)問題的解決方法

    Ajax局部更新導致JS事件重復觸發(fā)問題的解決方法

    如果頁面中包含一個ajax更新的列表,那么需要小心非動態(tài)更新部分的事件處理,下面以帶有公共工具欄的列表界面為例
    2014-10-10

最新評論