对js对象setter、getter的理解

一、简介

getter函数,获取object对象的属性值。

setter函数,对object对象的属性进行赋值。

通常,有两种手段可以对object对象存、取值;

1. 在对象初始化时

2. 在对象初始化后

二、定义属性

2.1 在对象初始化时

在getter函数前用“get”关键字定义,在setter函数前用“setter”关键字定义;如下:

var o = {

  key: 0,

  get getKey() { return this.key; },

  set setKey( value ) { this.key = value; }

};

2.2 在对象初始化后

在对象初始化后需要两个特殊的函数__defineGetter__和__defineSetter__来存取属性值。使用方式如下:

var o = { key: 0 };

o.prototype.__defineSetter__( 'key', function( value ) { this.key = value; } );

o.prototype.__defineGetter__( 'key', function() { return this.key; } );

猜你喜欢

转载自blog.csdn.net/songshuzhong/article/details/80319451