原生js实现复制对象、扩展对象 类似jquery中的extend()方法

实现复制对象可以使用Object.assign()方法或者扩展运算符(...);实现扩展对象可以自己实现一个extend()方法。

复制对象

使用Object.assign()方法

Object.assign()方法可以将源对象的属性,复制到目标对象中。

语法

Object.assign(target, ...sources)

参数

  • target:目标对象,在这个对象上复制源对象的属性。如果不提供目标对象,则以空对象{}为默认值。
  • sources:一个或多个源对象。这些对象的属性将被复制到目标对象中。

示例

// 复制对象
const obj1 = {a: 1, b: 2};
const obj2 = Object.assign({}, obj1);
console.log(obj2); //{a: 1, b: 2}

// 修改目标对象
const obj1 = {a: 1, b: 2};
const obj2 = {b: 3, c: 4};
const obj3 = Object.assign({}, obj1, obj2);
console.log(obj3); //{a: 1, b: 3, c: 4}

使用扩展运算符(...)

扩展运算符(...)可以用来展开数组或对象。在对象中使用时,相当于将一个对象的属性“拍扁”到目标对象中。

示例

// 复制对象
const obj1 = {a: 1, b: 2};
const obj2 = {...obj1};
console.log(obj2); //{a: 1, b: 2}

// 修改目标对象
const obj1 = {a: 1, b: 2};
const obj2 = {b: 3, c: 4};
const obj3 = {...obj1, ...obj2};
console.log(obj3); //{a: 1, b: 3, c: 4}

扩展对象

实现一个extend()方法

自己实现一个extend()方法可以用来扩展一个对象。这个方法接收任意数量的对象作为参数,将它们的属性合并到第一个参数对象中,并返回合并后的对象。

示例

function extend(target, ...sources) {
  sources.forEach(source => {
    Object.keys(source).forEach(key => {
      target[key] = source[key];
    });
  });
  return target;
}

// 扩展对象
const obj1 = {a: 1, b: 2};
const obj2 = {b: 3, c: 4};
const obj3 = extend({}, obj1, obj2);
console.log(obj3); //{a: 1, b: 3, c: 4}

以上就是原生js实现复制对象、扩展对象的完整攻略,使用Object.assign()方法、扩展运算符(...)或者自己实现一个extend()方法都可以实现这个功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:原生js实现复制对象、扩展对象 类似jquery中的extend()方法 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • layui select 禁止点击的实现方法

    实现layui select禁止点击有很多种方法,常见的有以下几种: 1.使用disabled属性 可以在select标签中加入disabled属性,这样就可以禁止用户点击和操作了,示例如下: <select disabled> <option value="1">选项1</option> <op…

    JavaScript 2023年6月10日
    00
  • JavaScript起点(严格模式深度了解)

    JavaScript起点(严格模式深度了解) 什么是严格模式? 严格模式是 ECMAScript 5 引入的一种运行模式,主要作用是弥补了 JavaScript 语言本身一些缺陷,提高了代码的运行效率,增强了安全性。通过开启严格模式,可以使 JavaScript 代码更加规范、更加安全、更加高效。 开启严格模式有两种方式: 在全局环境中使用 ‘use str…

    JavaScript 2023年5月19日
    00
  • 带你了解JavaScript的运行原理

    带你了解JavaScript的运行原理 JavaScript是什么 JavaScript 是一种轻量级的编程语言,被广泛应用于 Web 开发中。它被用来为实现交互性的特效和动态网页功能,如表单验证、下拉菜单、页面滑动等等提供动力。现在,JavaScript 还可以被用来开发桌面和移动应用,以及服务器端应用。 JavaScript 运行原理 在了解 JavaS…

    JavaScript 2023年5月18日
    00
  • js实现的奥运倒计时时钟效果代码

    我来给您介绍一下实现JavaScript奥运倒计时时钟效果的完整攻略。 1.准备工作 在对奥运倒计时时钟效果进行实现之前,我们需要先准备好一些技术和资源: HTML页面 CSS样式文件 JavaScript代码 首先,在HTML页面中,我们需要创建一个div标签,用来作为倒计时时钟显示的容器。可以为这个div添加一个id属性,方便后续的JavaScript代…

    JavaScript 2023年5月27日
    00
  • Bootstrap Multiselect 常用组件实现代码

    Bootstrap Multiselect 是基于 Bootstrap 样式的多选下拉列表组件,并提供了丰富的 API 以支持开发者进行定制化的配置。下面我将向你介绍如何使用 Bootstrap Multiselect,以及常用组件实现代码的完整攻略。 一、安装 Bootstrap Multiselect Bootstrap Multiselect 的最新版…

    JavaScript 2023年6月11日
    00
  • 微信小程序:数据存储、传值、取值详解

    微信小程序:数据存储、传值、取值详解 一、数据存储 微信小程序中数据存储可分为两部分,一部分是本地存储,即存储在用户的本地缓存中,另一部分是云存储,即存储在微信开发者工具提供的云服务器中。 1. 本地存储 本地存储使用wx.setStorage和wx.getStorage进行数据的存储和获取。 1.1 存储数据 使用wx.setStorage函数可以将数据存…

    JavaScript 2023年6月11日
    00
  • js常用函数 不错

    当提到JavaScript编程语言时,函数是其中最重要的一部分。函数可以帮助你简化代码,提高代码的复用性。在JavaScript编程中,有很多种类型的函数,但有些函数是非常常见的,可以被广泛使用。在本文中,我将会介绍几种js常用函数,让你在编写代码时能够更加轻松自如。 1. 时间函数 时间函数在JavaScript开发中有着重要的作用,可以用来创建、解析和操…

    JavaScript 2023年5月27日
    00
  • JavaScript中reduce()的5个基本用法示例

    当我们需要把一个数组变成一个单独的数值,或者我们需要使用一个数据结构去处理一个序列的值的时候,JavaScript中的reduce()方法就非常有用。本篇文章将详细讲解JavaScript中reduce()方法的5个基本用法示例,并提供两个具体的代码示例。 reduce()方法的语法 首先,我们需要了解下reduce()方法的语法: arr.reduce(c…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部