对象的常见的方法

获取对象的键值对数量: 你可以使用 Object.keys()Object.values()Object.entries() 方法来获取对象的键、值或键值对数组,并然后获取数组的长度。

var person = { name: "John", age: 30 };
var keys = Object.keys(person); // 获取键的数组
var values = Object.values(person); // 获取值的数组
var entries = Object.entries(person); // 获取键值对的数组

console.log(keys.length); // 获取键的数量
console.log(values.length); // 获取值的数量
console.log(entries.length); // 获取键值对的数量

获取对象的原型: 你可以使用 Object.getPrototypeOf() 方法来获取对象的原型。 

var person = { name: "John" };
var proto = Object.getPrototypeOf(person); // 获取对象的原型

检查对象是否包含某个属性: 你可以使用 hasOwnProperty() 方法来检查对象是否包含特定属性。

var person = { name: "John", age: 30 };
var hasName = person.hasOwnProperty("name"); // 检查是否包含属性 "name"

 删除属性: 使用 delete 操作符可以删除对象的属性。

var person = { name: "John", age: 30 };
delete person.age; // 删除属性 "age"

 合并对象: 你可以使用 Object.assign() 方法将多个对象合并成一个新对象。

var obj1 = { a: 1 };
var obj2 = { b: 2 };
var merged = Object.assign({}, obj1, obj2); // 合并 obj1 和 obj2 到 merged

获取对象的属性值: 你可以通过对象的属性名来获取属性值。

var person = { name: "John", age: 30 };
var name = person.name; // 获取属性 "name" 的值

扩充对象: 扩充对象是指向已有对象添加新属性或方法的过程。这可以通过直接为对象添加新属性或方法来实现。例如:

var person = { name: "John" };
person.age = 30; // 扩充 person 对象,添加 age 属性

冻结对象: 冻结对象是指防止对象的属性被修改的操作。你可以使用 Object.freeze() 方法来冻结一个对象,使其属性成为只读。一旦对象被冻结,就无法添加、删除或修改其属性。

var person = Object.freeze({ name: "John" });
person.age = 30; // 这行代码不会生效,因为 person 对象已被冻结

密封对象: 密封对象是指防止添加和删除对象的属性,但允许修改属性的操作。你可以使用 Object.seal() 方法来密封一个对象。

var person = Object.seal({ name: "John" });
person.age = 30; // 这行代码会失败,因为无法添加新属性
person.name = "Alice"; // 这行代码会成功,因为可以修改属性的值

模块化: 模块化编程是将代码划分为模块,每个模块通常包含相关功能的代码,从而提高代码的组织性和可维护性。在 JavaScript 中,你可以使用模块化系统(如 CommonJS、ES6 模块、AMD 等)来实现模块化编程。

模块的放大模式: 模块的放大模式是一种用于扩展模块的技术,它允许你在模块内部访问私有变量并扩展其功能。这通常通过返回一个带有额外方法或属性的对象来实现。

// 模块化代码
var myModule = (function() {
  var privateVar = "I am private";
  
  return {
    publicVar: "I am public",
    getPrivateVar: function() {
      return privateVar;
    }
  };
})();

宽放大模式: 宽放大模式是一种在模块内部访问和修改模块的私有变量的方法。它通过传递模块对象并在模块内部扩展其功能来实现。

// 模块化代码
var myModule = (function(module) {
  var privateVar = "I am private";
  
  module.getPrivateVar = function() {
    return privateVar;
  };
  
  return module;
})(myModule || {});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_2524963996

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值