Object常用方法

Object.defineProperties(obj, props)

用法:

        定义或修改对象的属性,并返回该对象。

参数:

        obj : 被修改或添加属性的对象。

        props:定义添加到对象的属性及属性描述对象。

返回值:

        传递的对象。

示例:

    let obj1 = {
        name:'zs',
      }

    let newObj = Object.defineProperties(obj1,{
      age:{
        value:16,//属性值
        writable:true,//是否可改写
        configurable:true,//是否可删除
        enumerable:false//该属性是否可遍历
      }
    })
    console.log(newObj===obj1,obj1);

打印显示:

Object.defineProperties实现双向绑定
   let obj1 = {
        name:'zs',
      }

    let newObj = Object.defineProperties(obj1,{
      _age:{ //私有变量
        value:20,
        writable:true,
        enumerable:false//
      },
      age:{
        get:function(){
          console.log('get');
          return this._age
        },
        set:function(val){
          console.log('set');
          this._age = val
        },
        enumerable:true,
      },
      
    })
    console.log(newObj);

输出显示

Object.entries(obj)

用法:

        Object.entries()方法遍历指定对象的可枚举属性,其排列顺序与for...in..方法遍历对象返回值顺序一样。

参数:

        obj可以返回其可枚举属性的键值对的对象。

返回值:

        指定对象自身可枚举属性的键值对数组。

示例:

        

    let obj1 = {
        name:'zs',
      }

    let newObj = Object.defineProperties(obj1,{
      _age:{
        value:20,
        writable:true,
        enumerable:false//设置为false,所以_age不可被entries方法遍历
      },
      age:{
        get:function(){
          console.log('get');
          return this._age
       
回答: JavaScript中的Object对象有许多常用方法。其中一些方法包括: 1. Object.create(proto, \[propertiesObject\]): 创建一个新对象,使用现有的对象作为新对象的原型。可以选择性地传入一个属性描述对象来定义新对象的属性。 2. Object.getOwnPropertyNames(obj): 返回一个数组,包含指定对象自身的所有属性的名称,包括不可枚举的属性。 3. Object.setPrototypeOf(obj, prototype): 设置一个对象的原型对象。该方法用于设置一个对象的原型对象,并返回该对象本身。 4. Object.getOwnPropertyDescriptor(obj, prop): 获取指定对象的指定属性的属性描述符对象。 5. Object.keys(obj): 返回一个数组,包含指定对象自身的所有可枚举属性的键名。 6. Object.values(obj): 返回一个数组,包含指定对象自身的所有可枚举属性的值。 这些方法可以帮助我们在JavaScript中操作和处理对象。 #### 引用[.reference_title] - *1* [js Object方法大全](https://blog.csdn.net/duguxueao/article/details/123771968)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [JavaScript中对象(Object)的方法](https://blog.csdn.net/weixin_51033461/article/details/120825483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值