| 副标题[/!--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() (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |