锁定老帖子 主题:ECMAScript5 新特性(二)
精华帖 (1) :: 良好帖 (4) :: 新手帖 (12) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-24
最后修改:2011-01-24
Function 4: Object.getOwnPropertyDescriptor用途:得到一个属性的定义
var person = { name : 'Joe' }; Object.getOwnPropertyDescriptor(person, 'name'); // { configurable : true,enumerable : true, value : 'Joe&', writable : true } 但是这个函数只能适用于函数自身的对象,并不能取得原型链上的属性 Browser Support ○ Firefox 4 ○ Internet Explorer 9 ○ Safari 5 ○ Chrome 5+
Function 5: Object.keys用途:取得所有的属性名
var horse = { name : 'Ed', age : 4, job : 'jumping', owner : 'Jim' }; var horseKeys = Object.keys(horse); // ['name', 'age', 'job', 'owner'];
Browser Support ○ Firefox 4 ○ Internet Explorer 9 ○ Safari 5 ○ Chrome 5+
Function 6: Object.getOwnPropertyNames此函数功能基本和第5点相同,但是她可以取得所有的属性名,即使那个属性是不可枚取的(属性的enumerable =false,详细请参照第2点) Browser Support ○ Firefox 4 ○ Internet Explorer 9 ○ Safari 5 ○ Chrome 5+
Function 7: Object.preventExtensions / Object.isExtensible这个函数能把一个对象的属性锁住,让他不能扩展。
var product = { name : 'Foobar', rating : 3.5 }; Object.isExtensible(product); // true Object.preventExtentions(product); Object.isExtensible(product); // false product.price = '$10.00'; // doesn't work product.price; // undefined 但是仅仅只是不能增加属性,他的值仍然是可以改的,而且这个属性也能够被delete Browser Support ○ Firefox 4 ○ Internet Explorer 9 ○ Chrome 6+
Function 8: Object.seal / Object.isSealed
Seal一个对象意味着你无法增加删除属性,也无法把已经定义好的属性值指向一个accessor (a method or function),反过来也是一样
var pet = { name : 'Browser', type : 'dog' }; Object.seal(pet); pet.name = 'Oreo'; pet.age = 2; // doesn't work pet.type = function () { /**/ }; // doesn't work delete pet.name; // doesn't work Browser Support ○ Firefox 4 ○ Internet Explorer 9 ○ Chrome 6+
Function 9: Object.freeze / Object.isFrozenfreeze一个对象,意味着你不能通过任何手段修改对象内容,他变成了完全只读的
var obj = { greeting : 'Hi!' }; Object.freeze(obj); Object.isFrozen(obj); // true
Browser Support ○ Firefox 4 ○ Internet Explorer 9 ○ Chrome 6+
Function 10: Array.isArray很显然,这是一个判断是否是数组的函数
var names = ['Collis', 'Cyan']; Array.isArray(names); // true Browser Support ○ Firefox 4 ○ Internet Explorer 9 ○ Safari 5 ○ Chrome 5+ ○ Opera 10.5+ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 1251 次