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日

相关文章

  • 详解js实时获取并显示当前时间的方法

    当我们开发网页时,有时需要在页面上显示当前的时间。下面是使用JavaScript实时获取并显示当前时间的三种方法。 方法1:使用setInterval()函数 setInterval()函数可以每隔一定时间间隔执行一次function中的代码。我们可以使用这个函数每秒钟更新时间。 <!DOCTYPE html> <html> <…

    JavaScript 2023年5月27日
    00
  • JavaScript实现的select点菜功能示例

    下面是JavaScript实现的select点菜功能示例的完整攻略: 概述 在Web开发中,经常需要实现一些具有选择性质的功能,比如点菜、物品选择等。这时候我们可以使用select元素结合JavaScript来实现。 HTML结构 首先,我们需要在HTML中定义一个select元素,用于用户选择不同的选项。具体代码如下: <select id=&quo…

    JavaScript 2023年6月10日
    00
  • html嵌入javascript代码的三种方式

    HTML嵌入JavaScript代码通常有三种方式:内联(Inline)、内部(Internal)、外部(External)。 Inline(内联) 内联是将JavaScript代码直接写在HTML元素的属性中。由于代码与HTML元素混合在一起,这种方式不易维护和阅读,推荐在特定环境下使用。 以下是内联的示例: <button onclick=&quo…

    JavaScript 2023年5月18日
    00
  • 学习JavaScript设计模式之代理模式

    学习JavaScript设计模式之代理模式 什么是代理模式 代理模式是一种结构型设计模式,可以为其他对象提供一种代理以控制对这个对象的访问。 代理模式允许在不改变原始对象行为的情况下,通过代理对象来控制或修改对象的行为。这种方式提供了一种更加灵活和安全的访问对象的方式。 代理模式由三个部分组成,分别是目标对象(即要被代理的对象)、代理对象和客户端。 代理模式…

    JavaScript 2023年6月11日
    00
  • Javascript delete 引用类型对象

    删除引用类型对象在Javascript中是一项常见操作,但需要注意这种操作不会真正删除对象,而是断开了引用对象的所有指针,并在垃圾回收机制自动回收这些对象。下面是对delete操作的详细解释。 什么是引用类型对象? 在Javascript中,对象是由键值对组成的无序集合。引用类型是Javascript中一个非常重要的概念,它允许我们通过指针引用和操作内存中的…

    JavaScript 2023年5月27日
    00
  • Javascript入门学习第八篇 js dom节点属性说明第2/2页

    首先,在介绍“Javascript入门学习第八篇 js dom节点属性说明第2/2页”的完整攻略之前,我们需要了解一下什么是 DOM 树。 DOM (Document Object Model)文档对象模型,是一种用来表示 HTML 和 XML 文件的对象(或节点)的树结构。DOM 树将整个页面分为一个一个的小块,每个小块都是一个节点,节点可以包含文本内容,…

    JavaScript 2023年6月10日
    00
  • js中数组常用方法总结(推荐)

    让我为您详细地讲解“js中数组常用方法总结(推荐)”。 1. 前言 在JavaScript中,数组是非常常见的一种数据类型。为了更加高效地使用数组,我们需要对JS中数组的常用方法进行学习和总结。 2. 数组常用方法介绍 在JS中数组的常用方法有很多,我们在学习时需要分类讲解。下面是详细的介绍: 2.1 数组的创建方法 在JS中,创建数组有两种方式,一种是使用…

    JavaScript 2023年5月27日
    00
  • JavaScript中的console.time()函数详细介绍

    下面是关于JavaScript中的console.time()函数的详细介绍: 简介 console.time()函数可以帮助我们计算代码的执行时间。通常用于优化代码,或者进行一些性能测试等等。 语法 console.time()函数的语法如下: console.time(name); 参数name是一个字符串,用于标记计时器。 使用方法 使用console…

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