对js对象settergetter的理解

Posted 南瓜壳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对js对象settergetter的理解相关的知识,希望对你有一定的参考价值。

一、简介

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; } );

以上是关于对js对象settergetter的理解的主要内容,如果未能解决你的问题,请参考以下文章

深入理解js面向对象——创建对象

深入理解js面向对象——创建对象

对JS prototype的理解

关于js对象的一些理解

关于js对象的一些理解

彻底理解js的原型链