美文网首页
JavaScript高级程序设计读书笔记(六)之面向对象程序设计

JavaScript高级程序设计读书笔记(六)之面向对象程序设计

作者: 惶惶不安的青年 | 来源:发表于2017-09-11 11:48 被阅读0次

    对象即是无序属性的集合,其属性可以包含基本值,对象和函数。

    一、理解对象

    创建自定义对象通常有两种方法,第一种就是创建一个Object的实例,然后再为其添加属性和方法。第二种方法即对象字面量法,一般推荐使用这种方法创建对象。
    //第一种
    var obj = new Object();
    obj.name='name';
    obj.sayName=function(){};
    //第二种
    var obj = {
      name : 'name';
      sayName:functoin(){};
    }
    

    1、属性类型

    JavaScript中定义了两种不同的属性:数据属性和访问器属性。数据属性一般用于存储数据数值,而访问器属性一般进行get/set操作,不能直接存储数据数值。

    数据属性
    var obj={
        name:'minRed'//数据属性,此时的[[Value]]值是'minRed'
    }
    Object.defineProperty(obj,'name',{
            configurable:false,
            enumerable:false,
            writable:false,
            value:'holle'
    })
    

    数据属性特性:[[Configurable]]、[[Enumerable]]、[[Writable]]、[[Value]](JavaScript不能直接访问他们,用[[]]来表示他们是内部值)。
    configurable:true/false,是否可以通过delete删除属性,能否修改属性的特性,能否把属性修改为访问器属性,默认true;
    enumerable:true/false,是否可以通过for in循环枚举,默认true;
    writable:true/false,是否可以修改属性的值,默认true;
    value:undefined,设置属性的值,默认undefined。
    要修改属性的特性可以用Object.defineProperty(),三个参数属性所在的对象、属性名、描述符,描述符必须是四个特性中的一个或多个。

    访问器属性

    相关文章

      网友评论

          本文标题:JavaScript高级程序设计读书笔记(六)之面向对象程序设计

          本文链接:https://www.haomeiwen.com/subject/tzpxsxtx.html