JavaScript之读取属性特征

使用Object.getOwnPropertyDescriptor方法读取属性特征

‘use strict‘;

var person = { };

Object.defineProperties(person, {
    _age: {
        configurable: true,
        writable: true,
        enumerable: true,
        value: -1,
    },
    age: {
        configurable: false,
        enumerable: false,
        get: function () {
            return this._age;
        },
        set: function (newValue) {
            if (newValue <= 0 || newValue > 100) {
                this._age = 18;
            } else {
                this._age = newValue;
            }
        }
    }
});

var descriptor1 = Object.getOwnPropertyDescriptor(person, ‘_age‘);
// true
console.log(descriptor1.configurable);
// true
console.log(descriptor1.writable);
// true
console.log(descriptor1.enumerable);
// -1
console.log(descriptor1.value);

var descriptor2 = Object.getOwnPropertyDescriptor(person, ‘age‘);
// false
console.log(descriptor2.configurable);
// false
console.log(descriptor2.enumerable);
// [Function]
console.log(descriptor2.get);
// [Function]
console.log(descriptor2.set);
时间: 2024-10-09 06:38:44

JavaScript之读取属性特征的相关文章

深入理解JavaScript中的属性和特性

深入理解JavaScript中的属性和特性? JavaScript中属性和特性是完全不同的两个概念,这里我将根据自己所学,来深入理解JavaScript中的属性和特性. 主要内容如下: 理解JavaScript中理解对象的本质.理解对象与类的关系.对象与引用类型的关系 对象属性如何进行分类 属性中特性的理解 第一部分:理解JavaScript中理解对象的本质.理解对象与类的关系.对象与引用类型的关系 对象的本质:ECMA-262把对象定义为:无序属性的集合,其属性可以包含基本值.对象或者函数.即

javascript中的属性类型

ECMA-262第5版在定义只有内部才用的特性(attribute)时,描述了属性(property)的各种特性.ECMA-262定义这些特性是为了实现javascript引擎用的,因此在javascript中不能直接访问它们.为了表示特性是内部值,该规范把它们放在了两对方括号中,例如[[Enumerable]]. ECMAScript中有两种属性:数据属性和访问器属性. 1.数据属性包含一个数据值的位置.在这个位置可以读取和写入值.数据属性有4个描述其行为的特性. [[Configurable

JavaScript DOM_4 操作属性节点

属性节点: 某一指定的元素节点的属性. 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()

属性特征

1. 简介 JS 的对象是一组无序属性的集合.那么对于这组无序属性来说,拥有哪些特性呢?ECMAScrip5 中定义了属性的这些特性,但这些特性是为了实现 JS 引擎用的,在 JS 中无法直接来访问它们.为了表示这些特性是内部值,这些特性被放在两对方括号中.例如 [[Enumerable]]. ECMAScript 中有两种属性:数据属性和访问器属性. 2. 数据属性和访问器属性 2.1 数据属性 数据属性包含一个数据值的位置,在这个位置可以读取和写入值.数据属性有 4 个描述其行为的特性. 可

JavaScript原生对象属性和方法详解——Array对象 转载

length 设置或返回 数组中元素的数目. 注意:设置 length 属性可改变数组的大小.如果设置的值比其当前值小,数组将被截断,其尾部的元素将丢失.如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为 undefined.所以length不一定代表数组的元素个数. var arr = new Array(3) arr[0] = "John" arr[1] = "Andy" arr[2] = "Wendy" cons

javascript中对象属性的介绍

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // 对象的属性是什么类型的? string // 如果对象的属性不是字符

用javascript技术读取注册表中软件安装位置并启动本地软件

1.首先读取注册表中本地软件安装的位置,如果未安装则无就跳转到下载页面. 2.启动软件,关闭页面. 3.如报错提示. <SCRIPT language=javascript>  <!--   function killErrors(){  alert("请将您浏览器Internet选项中的“对没有标记为安全的ActiveX控件进行初始化和脚本运行”设置为“启用”!/n/n然后刷新本页登陆!");  return true;}   window.onerror = ki

Javascript中length属性的总结

Javascript中length属性的总结 一.StringObject中的length     length属性是返回字符串的字符数目. 例如: // 普通字符串 var str = "abcdef"; console.log(str.length); // 6 // 数组 var str1 = new Array(1,2,3,4); console.log(str1.length); // 4 // 数组与字符串 var str2 = str1 + str; // "a

OC中的属性特征

在刚开始学习oc的过程中,一直对声明完返回值后的属性特征不咋明白啥意思,今天特地找了一下资料,彻底的明白其中的意思. oc中的属性特征主要有assign,copy,retain这三个主要的,还有readonly,readwrite.   另外,atomic和nonatomic:以及strong,weak. assign主要是针对基础类型数据和c数据类型的简单赋值,而且它不调用索引计数器(retain count). retain主要是指调用oc中的对象,对oc中的对象进行赋值(主要针对NSObj