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.isFrozen
freeze一个对象,意味着你不能通过任何手段修改对象内容,他变成了完全只读的
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+
分享到:
相关推荐
ECMAscript常用新特性积累1
本人看过《深入浅出ES6》后把一百多页去除水分,总结成十来页的文档,方便快速入门。
本文没有详细描述这些新特性,因为网上都已经有很多相关的介绍了。主要针对ES6 新特性收集了相关范例代码,他可以让你快速了解这个新的javascript规范
下面小编就为大家带来一篇浅谈ECMAScript6新特性之let、const。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
ECMAScript Second Edition javascript新特性2018年7月最新版本
ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法知识给予了详细介绍,并给出了大量简洁易懂的示例代码。 《ECMAScript6入门》为中级难度,...
通常而言,JavaScript由ECMAScript核心、BOM和DOM三部分构成,前面的文章将ECMAScript核心部分粗略的过了一
这个实现又可以被扩展,包含特定于宿主环境的新特性,比如QML就引入了Qt对象系统中的信号与槽,还增加了动态属性绑定等非常有特色的新功能。 在Qt的帮助文档中有时并不严格区分ECMAScript与JavaScript,但其实两者是...
《ECMAScript 6 入门》是一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码...
《ECMAScript 6入门》是一本开源的JavaScript语言教程,全面介绍ECMAScript 6新引入的语法特性。
《ECMAScript 6入门》是一本开源的JavaScript语言教程,全面介绍ECMAScript 6新引入的语法特性。 本书力争覆盖ES6与ES5的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码。 本书为中级...
《ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法知识给予了详细介绍,并给出了大量简洁易懂的示例代码。, 《ECMAScript6入门》为中级难度...
主要介绍了ES6(ECMAScript 6)新特性之模板字符串用法,简单介绍了ES6模板字符串的概念、功能并结合实例形式分析了ES6模板字符串的用法,需要的朋友可以参考下
《ECMAScript 6 入门》是一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例...
严格模式(Strict Mode)是ECMAScript 5的新特性,它允许你把整个程序,或者某个函数,放置在“严格”的操作语境中。这种严格的语境会防止某些特定的操作并抛出更多的异常。 虽然ECMAScript 5对ECMAScript 3是向下...
箭头函数是ECMAScript 6最受关注的更新内容之一。它引入了一种用「箭头」(=>)来定义函数的新语法,它…它碉堡了~。箭头函数与传统的JavaScript...只能使用显式命名或其他ES6新特性来完成。这些差异的存在是有理可循的
一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新增的语法特性