码迷,mamicode.com
首页 > 其他好文 > 详细

属性类型(数据属性、访问器属性)

时间:2018-07-01 16:58:59      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:span   imp   多个   面向对象   object   ant   display   ocs   color   

语法:
Object.defineProperty(obj, prop, descriptor)
1、数据属性
实例1:单个属性的建立
    var person = {};
    Object.defineProperty(person,‘name‘,{
        value:‘zhangsan‘,//属性的值
        writable:false,//不能更改
        configurable:false,//不能删除
        enumerable:false //不能for-in遍历
    });

默认情况下:true

writable:false||true
configurable:false||true
enumerable:false||true

实例2:多个属性的建立
var person = {};
    Object.defineProperties(person,{
        name:{
            value:‘zhangsan‘,
            writable:false,//||true
            configurable:false,//||true
            enumerable:false,//||true
        },
        sex:{
            value:‘nan‘,
            writable:false,//||true
            configurable:false,//||true
            enumerable:false,//||true
        },
        age:{
            value:23,
            writable:false,//||true
            configurable:false,//||true
            enumerable:false,//||true
        }
    });

实例3:

描述符:descriptor 

再通俗一点,比如你在 面向对象 编程中 定义一个(没有定义方法)类:class person , 在这个类里面,有name,age, heigth, weight,等等属性, 这个类就可以看作一个对 person 的描述符,而具体的实例则是具体的“被描述物”
 
 
描述符可同时具有的键值
 
 
  configurable enumerable value writable get set
数据描述符 Yes Yes Yes Yes No No
存取描述符 Yes Yes No No Yes Yes

如果一个描述符不具有value,writable,get 和 set 任意一个关键字,那么它将被认为是一个数据描述符。如果一个描述符同时有(value或writable)和(get或set)关键字,将会产生一个异常。

地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
 
 

2、访问器属性




 

属性类型(数据属性、访问器属性)

标签:span   imp   多个   面向对象   object   ant   display   ocs   color   

原文地址:https://www.cnblogs.com/jokes/p/9250463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!