| 
                        副标题[/!--empirenews.page--]
                            
介绍 
JavaScript 中,对象是 键/值 对的集合。值可以包含属性和方法,并且可以包含所有其他 JavaScript  数据类型,例如字符串,数字和布尔值。 
JavaScript中的所有对象都来自父 Object 的构造函数。Object 为我们提供了很多实用的内置方法,并且可以在单个对象中直接使用。不同于  数组的原型方法 例如 sort() 和 reverse() 只能被数组实例使用,对象方法直接来自 Object  构造函数,并使用对象实例作为参数。这称为静态方法。 
本教程将介绍重要的内置对象方法,下面的每个部分都涉及特定方法并提供使用示例。 
前提 
为了充分利用本教程,您应该熟悉创建,修改和使用对象,您可以在“ 了解JavaScript中的对象 ”一文中查看这些对象。 
有关JavaScript的其他指导,您可以查看“ JavaScript 如何编码 ”系列。 
Object.create() 
Object.create() 方法用于创建一个新对象,并将其链接到现有的对象原型。 
我们可以创建一个job对象实例,并将其扩展为更具体的对象。 
- // Initialize an object with properties and methods  
 - const job = {  
 - position: 'cashier',  
 - type: 'hourly',  
 - isAvailable: true,  
 - showDetails() {  
 - const accepting = this.isAvailable ? 'is accepting applications' : "is not currently accepting applications";  
 - console.log(`The ${this.position} position is ${this.type} and ${accepting}.`);  
 - }  
 - };  
 - // Use Object.create to pass properties  
 - const barista = Object.create(job);  
 - barista.position = "barista";  
 - barista.showDetails();  
 
  
- Output  
 - The barista position is hourly and is accepting applications.  
 
  
barista 对象现在有一个 position 属性 - 但是所有其他属性和方法都可以通过 job  的原型获得。通过Object.create()来实现最小化重复,对于保持代码DRY十分有效。 
Object.keys() 
Object.keys() 会创建一个包含对象键的数组。 
我们可以创建一个对象并打印键的数组。 
- // Initialize an object  
 - const employees = {  
 - boss: 'Michael',  
 - secretary: 'Pam',  
 - sales: 'Jim',  
 - accountant: 'Oscar'  
 - };  
 - // Get the keys of the object  
 - const keys = Object.keys(employees);  
 - console.log(keys);  
 
  
- Output  
 - ["boss", "secretary", "sales", "accountant"]  
 
  
Object.keys() 还可用于迭代对象的键和值。 
- // Iterate through the keys  
 - Object.keys(employees).forEach(key => {  
 - let value = employees[key];  
 - console.log(`${key}: ${value}`);  
 - });  
 
  
- Output  
 - boss: Michael  
 - secretary: Pam  
 - sales: Jim  
 - accountant: Oscar  
 
  
for-in 循环和Object.keys()返回的可枚举属性有一个区别: 
for-in 循环同时也会遍历原型属性 
Object.keys() 只会返回自有(实例)属性 
Object.keys() 对于检查对象的长度也很有用。 
- // Get the length of the keys  
 - const length = Object.keys(employees).length;  
 - console.log(length);  
 
  
- Output  
 - 4  
 
  
使用该 length 属性,我们能够计算employees包含4个自有属性。 
Object.values() 
Object.values() 创建一个包含对象值的数组。 
- // Initialize an object  
 - const session = {  
 - id: 1,  
 - time: `26-July-2018`,  
 - device: 'mobile',  
 - browser: 'Chrome'  
 - };  
 - // Get all values of the object  
 - const values = Object.values(session);  
 - console.log(values);  
 
  
- Output  
 - [1, "26-July-2018", "mobile", "Chrome"]  
 
  
Object.keys()和Object.values()允许您从对象返回数据。 
Object.entries() 
                                                (编辑:52站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |