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表示可枚举(是