8个工程必备的JavaScript代码片段

yizhihongxing

下面是“8个工程必备的JavaScript代码片段”的完整攻略:

简介

这篇攻略主要介绍8个在前端工程中经常使用的JavaScript代码片段,这些代码片段能够提高你的代码质量和工作效率,让你的代码更加可读、可维护。

文章目录

  1. forEach循环遍历数组
  2. Object.keys()获取对象的属性名数组
  3. 数组去重
  4. 获取URL参数值
  5. 判断一个对象是否为空
  6. 判断两个对象是否相等
  7. 将HTML转义为实体
  8. 将实体转义为HTML

1. forEach循环遍历数组

forEach()方法是用于数组遍历的常用方法。它接受一个回调函数作为参数,该回调函数接收三个参数:当前元素、元素索引和数组自身。下面是一个简单的例子:

const arr = [1, 2, 3];
arr.forEach((item, index, array) => {
  console.log(item, index, array);
})

输出:

1 0 [1, 2, 3]
2 1 [1, 2, 3]
3 2 [1, 2, 3]

2. Object.keys()获取对象的属性名数组

Object.keys()方法返回一个给定对象的自身可枚举属性数组,包含对象上所有属性(不包括继承来的属性)。下面是一个例子:

const obj = { name: 'Jack', age: 20 };
const keys = Object.keys(obj);
console.log(keys);

输出:

['name', 'age']

3. 数组去重

对于一个包含重复元素的数组,可以使用ES6中的Set来进行去重:

const arr = [1, 2, 2, 3, 4, 4];
const uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4]

4. 获取URL参数值

对于一个URL地址,可以使用以下函数来获取指定参数的值:

function getUrlParam(url, key) {
  const paramsArr = url.split('?')[1].split('&');
  for (let i = 0; i < paramsArr.length; i++) {
    const param = paramsArr[i].split('=');
    if (param[0] === key) {
      return param[1];
    }
  }
}
const url = 'https://www.example.com/?id=123&name=Jack';
console.log(getUrlParam(url, 'id')); // 123

5. 判断一个对象是否为空

可以使用Object.keys()方法将对象的属性名转换为数组,然后判断该数组的长度是否为0来判断对象是否为空:

function isEmptyObj(obj) {
  return Object.keys(obj).length === 0;
}
const obj = { };
console.log(isEmptyObj(obj)); // true

6. 判断两个对象是否相等

可以使用JSON.stringify()将两个对象转换为字符串,然后再进行比较。需要注意的是,该方法只能比较简单的对象,对于包含函数或原型链对象等属性的复杂对象无法比较:

const obj1 = { name: 'Jack', age: 20 };
const obj2 = { name: 'Jack', age: 20 };
console.log(JSON.stringify(obj1) === JSON.stringify(obj2)); // true

7. 将HTML转义为实体

可以使用正则表达式中的特殊字符来匹配HTML标签,然后将其转义为实体。以下是一个简单的例子:

function escapeHTML(str) {
  const escapeChars = {
    '<': '&lt;',
    '>': '&gt;',
    '"': '&quot;',
    "'": '&#39;'
  };
  return str.replace(/[<>"']/g, char => escapeChars[char]);
}
const htmlStr = '<p>Hello "world"!</p>';
console.log(escapeHTML(htmlStr)); // &lt;p&gt;Hello &quot;world&quot;!&lt;/p&gt;

8. 将实体转义为HTML

可以使用浏览器提供的内置API将实体转换为HTML,例如使用document.createElement()创建一个p标签来显示转义后的HTML文本:

function unescapeHTML(str) {
  const div = document.createElement('div');
  div.innerHTML = str;
  return div.textContent;
}
const entityStr = '&lt;p&gt;Hello &quot;world&quot;!&lt;/p&gt;';
console.log(unescapeHTML(entityStr)); // <p>Hello "world"!</p>

结语

以上就是8个在前端工程中经常使用的JavaScript代码片段,希望能够对你的工作有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:8个工程必备的JavaScript代码片段 - Python技术站

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

相关文章

  • JavaScript字符串对象slice方法入门实例(用于字符串截取)

    JavaScript字符串对象slice方法入门实例 在JavaScript中,字符串对象是非常常用的数据类型,其内置的方法也非常丰富。其中一个方法就是slice()方法,这个方法可以用于截取字符串,下面就来详细讲解如何使用slice方法。 什么是slice方法? 我们先来看看slice方法的定义: String.slice(beginIndex[, end…

    JavaScript 2023年5月28日
    00
  • 浅析JavaScript对象转换成原始值

    JavaScript 中的对象可以通过调用 ToPrimitive 转换成原始值。当 JavaScript 引擎需要将一个对象转换为原始值时,会先调用这个对象的 valueOf 方法,如果返回值不是原始值,再去调用对象的 toString 方法。如果这两个方法都不能返回原始值,那么会抛出一个 TypeError 异常。 具体而言,ToPrimitive 函数…

    JavaScript 2023年5月27日
    00
  • js实现秒表计时器

    实现 js 的秒表计时器功能,可以按照以下步骤进行: 1. 创建页面结构 页面需要包含一个显示时间的区域和三个按钮,分别是“开始计时”、“暂停计时”和“重置计时”按钮。按钮可以使用 button 标签创建,显示时间的区域可以使用 div 标签创建。 下面是一个简单的页面结构示例: <div id="clock">00:00:0…

    JavaScript 2023年5月27日
    00
  • 浅谈JSON5解决了JSON的两大痛点

    让我详细地讲解一下“浅谈JSON5解决了JSON的两大痛点”的完整攻略。 背景介绍 首先,让我们来了解一下 JSON5 背后的背景。JSON(JavaScript Object Notation)是一种常用的数据交换格式,用于存储和传输简单和复杂的数据。JSON 这种格式的优点在于它的可读性、易于解析和在 Web 应用程序和 API 中的广泛使用。然而,在实…

    JavaScript 2023年5月27日
    00
  • React中完整实例讲解Recoil状态管理库的使用

    下面我将详细讲解React中完整实例讲解Recoil状态管理库的使用的完整攻略: 1. 什么是Recoil状态管理库 Recoil是一个由Facebook团队开发的状态管理库,用于管理React应用程序中的应用状态。它减少了在子组件中传递多层道具的需求,以及在应用程序中传递数据的繁琐过程。 Recoil与其他状态管理库不同之处在于它提供了两种新的概念:ato…

    JavaScript 2023年6月11日
    00
  • js时间比较 js计算时间差的简单实现方法

    接下来我会详细讲解“JavaScript 时间比较和计算时间差”的实现方法,包括以下几个部分内容: 时间格式化 时间比较 计算时间差 示例说明 1. 时间格式化 在 JavaScript 中,日期和时间可以使用 Date 对象来表示。但是,要在代码中比较和计算时间,通常需要使用字符串格式的日期和时间。 在进行时间格式化时,我们可以借助一些常用的库,例如 mo…

    JavaScript 2023年5月27日
    00
  • javascript中数组array及string的方法总结

    JavaScript中数组(Array)及字符串(String)方法总结 在JavaScript中,数组以及字符串是非常重要的数据结构,同时也拥有很多的内置方法可以简化我们的开发流程。接下来将带你了解这些方法。 字符串(String)方法 1. indexOf 返回某个指定的子字符串在字符串中第一次出现的位置。 const str = "Hello…

    JavaScript 2023年5月27日
    00
  • JavaScript基础介绍与实例

    我来为您详细讲解“JavaScript基础介绍与实例”的完整攻略。 一、JavaScript基础介绍 JavaScript是一种广泛应用于web前端开发中的脚本语言,它可以让网页变得更加动态,给用户带来更好的体验。它被广泛应用于交互、动画、特效、数据处理、表单验证等方面,是web前端开发中必备的技术之一。 1.1 前置知识 在学习JavaScript之前,需…

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