javascript面向对象的程序设计之Object.getOwnPropertyDescriptor()
Object.getOwnPropertyDescriptor()用于获取给定属性的描述信息,这个描述信息是一个对象.
如果是访问器属性,则这个对象的属性有configurable,enumerable,get,set.
如果是数据属性,则这个对象属性有,configurable,enumerable,writable,value.
  var human = {
         _age:18,//下划线是一种常用的记号.用于只能通过对象方法访问的属性
         role:"大人"
     };
     Object.defineProperty(human, "age", {
         get: function () {//放回age属性值
             return this._age;
         },
         set: function (ageValue) {//设置对象中的属性值
             if (ageValue >= 18)
                 this.role = "大人";
             else
                 this.role = "小孩";
         }
     });
     var descriptor = Object.getOwnPropertyDescriptor(human, "_age");//访问数据属性
     alert(descriptor.value);//
     alert(descriptor.configurable); //true
     alert(typeof descriptor.get);//undefined
     descriptor = Object.getOwnPropertyDescriptor(human, "age");//访问访问器属性
     alert(descriptor.value);//undefined
     alert(descriptor.enumerable);//false
     alert(typeof descriptor.get);//function
javascript面向对象的程序设计之Object.getOwnPropertyDescriptor()的更多相关文章
- JavaScript 面向对象的程序设计(一)之理解对象属性
		
首先,JavaScript 面向对象的程序设计,主要分三部分. 理解对象属性: 理解并创建对象: 理解继承. 本文主要从第一方面来阐述: 理解对象属性 首先我们来理解Javascript对象是什么?在 ...
 - 重学js之JavaScript 面向对象的程序设计(创建对象)
		
注意: 本文章为 <重学js之JavaScript高级程序设计>系列第五章[JavaScript引用类型]. 关于<重学js之JavaScript高级程序设计>是重新回顾js基 ...
 - 前端笔记之JavaScript面向对象(一)Object&函数上下文&构造函数&原型链
		
一.对象(Object) 1.1 认识对象 对象在JS中狭义对象.广义对象两种. 广义:相当于宏观概念,是狭义内容的升华,高度的提升,范围的拓展.狭义:相当于微观概念,什么是“狭”?因为内容狭隘具体, ...
 - JavaScript 面向对象的程序设计
		
面向对象(Object-oriented,OO)的语言有一个标志,那就是它们都有类的概念.而通过类可以创建任意多个具有相同属性和方法的对象.前面提到过,ECMAScript中没有类的概念,因此它的对象 ...
 - Learn JavaScript(面向对象的程序设计01)
		
最新更新请访问: http://denghejun.github.io JavaScript与OOP JavaScript作为web前端一种重要的脚本技术,已被大多开发人员所熟知.compare ...
 - JavaScript面向对象的程序设计
		
ECMAScript支持面对对象(oo)编程,但不使用类或接口.对象可以在代码执行过程中创建和增强,因此具有动态性而非严格定义的实体.在没有类的情况下,可以此采用下列模式创建对象. 工厂模式,使用简单 ...
 - JavaScript 面向对象程序设计(下)——继承与多态 【转】
		
JavaScript 面向对象程序设计(下)--继承与多态 前面我们讨论了如何在 JavaScript 语言中实现对私有实例成员.公有实例成员.私有静态成员.公有静态成员和静态类的封装.这次我们来讨论 ...
 - 《JavaScript高级程序设计》笔记:面向对象的程序设计(六)
		
面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象. 理解对象 创建自定义对象的最简单的方法就是创建一个Object的实例,然后再为它添加属性和方法.例 ...
 - JavaScript高级程序设计学习笔记--面向对象的程序设计(二)-- 继承
		
相关文章: 面向对象的程序设计(一) — 创建对象 http://www.cnblogs.com/blackwood/archive/2013/04/24/3039523.html 继承 继承是OO语 ...
 
随机推荐
- ZEDGRAPH画图心得,SQL语句构造!!!
			
/// <summary> /// 画折线 /// </summary> public void Drawline() { OleDbConnection odcConnect ...
 - HDU 2907
			
http://acm.hdu.edu.cn/showproblem.php?pid=2907 ans=(凸包顶点数-凸包凹面数量)*q-凸包凹面数量*p 重点在求一个凸包的凹面数量,极角排序过后,当前 ...
 - ZooKeeper 集群环境搭建 (本机3个节点)
			
--------------------------------------------------------1.建立目录server1server1/dataDirserver1/dataLogD ...
 - matlab mod()&rem()
			
一.介绍rem/mod(X,Y)当X,Y符号相同的时候,这两者一样,当符号不相同的时候才有差别,具体表现在rem结果的符号与被除数相同:mod结果的符号与除数相同 二.例子 >> a=9; ...
 - matlab读写视频VideoReader/VideoWriter
			
前言 视频处理分析的过程中,需要用到将视频一帧帧地读取.写入,本文就涉及此问题. 系统环境 1.系统:win7_64 2.matlab版本:matlab2015a 测试代码 代码一(读视频): %To ...
 - pandas.read_csv 参数 index_col=0
			
index_col : int or sequence or False, default None 用作行索引的列编号或者列名,如果给定一个序列则有多个行索引. 如果文件不规则,行尾有分隔符,则可以 ...
 - C#反射 字符串转为实体类,并做为参数传入泛型方法中使用
			
工作中有这样一个需求,有N张不同的报表,每张报表对应一个数据源,统计数据采用内存方式,首先在内在里定义了数据源对应实体.统计条件用lamdba表达式式实现,通过工具对单元格进行定义.在实现过程中针对每 ...
 - python3反射
			
class Cmd:# def __init__(self,name):# self.name = name def run(self): while 1: cmd = input('>> ...
 - Centos(linux)下的Python
			
Centos(linux)下安装python3(python2和python3共存) yum -y install lrzsz 首先安装lrzsz工具,lrzsz是一款在linux里可代替ftp上传和 ...
 - REST与RPC的简单对比
			
一.REST:Representational State Transfer,表述性状态转移 REST是一种架构风格,指的是一组架构约束条件和原则.满足这些约束条件和原则的应用程序或设计就是RESTf ...