首页 > 代码库 > JavaScript学习笔记(七)----面向对象的程序设计

JavaScript学习笔记(七)----面向对象的程序设计

1.对象的属性

ECMAScript中有两种属性:数据属性和访问器属性。

1)数据属性:有4个描述其行为的特性。

  • [[writable]]:表示能否修改属性的值,默认是true。
var person = {};alert(typeof person); //objectObject.defineProperty(person,"name",{   writable:false,    value:"Yoyo"});alert(person.name); //Yoyoperson.name = "Anne";alert(person.name); //Yoyo
var person = {};alert(typeof person); //objectObject.defineProperty(person,"name",{    writable:true,    value:"Yoyo"});alert(person.name); //Yoyoperson.name = "Anne";alert(person.name); //Anne
  •  [[configurable]]:表示能否通过delete删除属性从而从新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性。默认值为true。
var person = {};Object.defineProperty(person,"name",{    configurable:false,    value:"Yoyo"});alert(person.name); //Yoyodelete(person.name);alert(person.name); //Yoyo
var person = {};Object.defineProperty(person,"name",{    configurable:true,    value:"Yoyo"});alert(person.name); //Yoyodelete(person.name);alert(person.name); //undefined
  • [[Enumerable]]:能否通过for-in循环返回属性,默认是true
  • [[Value]]:包含这个属性的数据值。读取属性值的时候,从这个位置读;写入属性值的时候,把新值保存在这个位置。默认值为undefined。

 

JavaScript学习笔记(七)----面向对象的程序设计