js6-js属性相关

本文介绍了JavaScript中的对象属性,包括数据属性和访问器属性。数据属性可以通过`obj.xx`定义和访问,即使访问不存在的属性也不会报错。进阶操作中提到了使用`Object.defineProperty`来定义数据属性,以及如何定义访问器属性以自定义属性的获取和设置行为。此外,还讨论了`Object.getOwnPropertyDescriptor()`方法用于查看属性标识符,但只能获取自有属性。最后提到了使用该方法实现的extend方法。
摘要由CSDN通过智能技术生成

js属性就是js对象的一个成员变量,分为数据属性和访问器属性,数据属性可以直接obj.xx的方式进行定义。
js访问不存在的属性,返回undifined,但是不会报错。

一、属性基本操作
// 定义和访问的属性方式:
// 通过obj.prop进行定义,通过obj.prop获取属性的值,如果带有-,定义时需要加引号,
// 属性的key是一个变量或字符串,需要通过obj[key]获取

obj.name = "xxx";
var empty = { "zhang-san": "1", "li_si": "2", age: '18' };  // age属性key不需要用引号,另外二个需要用引号。
console.log(empty['zhang-san']); // 因为zhang-san必须加引号,所以属性key是个字符串,获取要用[]
var age_key = "age"; //
console.log(empty[age_key]); // 如果key是一个变量也是需要用[],进行获取

二、属性进阶操作,通过Object.defineProperty进行定义数据属性。

var obj = {};

Object.defineProperty(obj, 'name', { value: 1, writable: true, enumerable: true, configurable: true });

console.log(obj.name)// 1 

// writable表示可写,enumerable表示可枚举(是
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值