1. 程式人生 > >第六章 對象-javaScript權威指南第六版(四)

第六章 對象-javaScript權威指南第六版(四)

isp asc getter 表示 原型 返回 定義 enume api

6.6 屬性getter和setter

  對象屬性是由名字、值和一組特性(attribute)構成的。

  getter和setter定義的屬性稱做"存取器屬性"(accessor propterty)

  var o={

      data_prop:value,

      get accessor_prop(){函數體};

      set accessor_prop(a) {函數體};

    }

讀o.accessor_prop

寫o.accessor_prop=value;

6.7 屬性的特性

  數據屬性的4個特性分別是它的:

    值(value)

    可寫性(writable)

    可枚舉(enumerable)

    可配置性(configurable)

存取器屬性的4個特性是

     get

set

enumerable

configurable

getOwnPropertyDescriptor()

Object.getOwnPropertyDescriptor(x,"a")
result: Object {value: 1, writable: true, enumerable: true, configurable: true}

  var o={};

  Object.defineProperty(o,"x",{ value:1,

                writable:true,

                enumerable:false,

                configurable:true

                });

  Object.defineProperties({},{x:{value:1,writable:true,enumerable:true,configurable:true},

               y:{value:1,writable:true,enumerable:true,configurable;true}});

  gettert和setter的老式API

        __lookupGetter__()

        __lookupSetter__()

        __defineGetter__()

        __defineSetter__()

Object.getPrototypeOf(y) 返回y的原型。

6.8 對象的三個屬性

  原型 (prototype)

  類(class)

  可擴展性(extensible attribute)

6.8.1 原型屬性

  可以用isPrototypeOf 是否繼承於那一個原型。

6.8.2類屬性

  對象的類屬性是一個字符串,用以表示 對象的類型信息。

第六章 對象-javaScript權威指南第六版(四)