JavaScript对象——对象属性
来源:互联网 发布:新浪博客怎么seo 编辑:程序博客网 时间:2024/05/29 10:13
对象属性
属性类型
JavaScript中有三种不同类型的对象属性:命名数据属性、命名访问器属性以及内部属性。
var person={name:keency,get age(){},set age(){} }var book={_year:2004,edition:1}Object.defineProperty(book,"year",{ get:function(){ return this._year; }, set:function(newValue){ this._year=newValue; }});
(1)命名数据属性:name、edition
(2)命名访问器属性:age、_year
下划线用于表示只能通过对象方法访问的属性。
(3)内部属性:[[prototype]] 、[[class]]、 [[extensible]]
extensible用于定义对象上的属性是否可添加。
①preventExtensions(obj) 设置属性不可添加。
②Object.seal(obj)除执行preventExtensions(obj)将所有属性的configurable设置为false。
③Object.freeze(obj)在Object.seal(obj)的基础上将所有属性的writable设置为false。
属性特性
添加属性
给对象添加属性可直接赋值也可使用defineProperty方法。
直接赋值的特殊情况:
①原型链上有该属性的set方法
直接赋值添加属性不成功,因为调用了原型链上的set
②原型链上该属性的writable为false
以上只能通过defineProperty(对象,属性,属性的特性)来给对象添加属性。
删除属性
删除对象属性可以使用delete(configurable为true的情况下)。
属性操作常用函数
Object.defineProperty(obj,newDataProperty: { writable: false })//defineProperty,如果不指定属性特性,默认configurable、enumerable和writable特性都为falseObject.defineProperty(a,"b",{ value:123 })Object.defineProperties(obj, { newDataProperty: { writable: false }, newAccessorProperty: { enumerable: false }, anotherDataProperty: { value: "abc" }});Object.getOwnPropertyDescriptor(obj,"属性名");Object.getOwnPropertyDescriptors(obj);//获取所有属性的描述obj.hasOwnProperty("属性名");hasPrototypeProperty(obj,"属性名");//查找该属性是否在原型对象中
0 0
- JavaScript对象——对象属性
- javascript的Document对象——属性
- JavaScript面向对象程序设计——属性
- JavaScript对象——属性描述符
- JavaScript——对象属性、创建对象、继承、原型链
- JavaScript对象(1)——对象属性
- javascript面向对象——prototype属性(原型属性)
- JavaScript[对象.属性]集锦
- JavaScript[对象.属性]集锦
- JavaScript 的对象属性
- JavaScript[对象.属性]集锦
- JavaScript[对象.属性]集锦
- JavaScript[对象.属性]
- JavaScript[对象.属性]集锦
- JavaScript[对象.属性]集锦
- JavaScript[对象.属性]集锦
- JavaScript[对象.属性]集锦
- JavaScript[对象.属性]集锦
- python基础学习(2)
- JavaSript对象-创建对象
- TI的CCS的一个编译错误
- maven插件之maven-javadoc-plugin
- draw9patch使用问题
- JavaScript对象——对象属性
- 线程同步
- LayoutInflater 到底怎么把xml添加到decorview
- Linux 定时任务Crontab
- 朋友(特长生准备)
- maven插件之maven-source-plugin
- JavaScript类型检测
- 【C#】S.O.L.I.D
- JavaScript对象——对象的继承