JavaScript常用工具方法封装

这里是关于“JavaScript常用工具方法封装”的攻略。

基础概念

工具方法

通常所说的工具方法,是指编写的一些辅助性函数或类,用来完成一些具有通用性的操作,比如数据转换、日期格式化、字符串截断等等。

封装方法

封装方法是将一段通用的代码进行抽象,使代码可以在各种场景中共享,提高代码复用性。在 JavaScript 中,我们可以通过函数来封装代码。

常用工具方法

下面是一些常用的 JavaScript 工具方法:

  • Array.from:将一个类数组对象或可迭代对象转换成一个新的数组实例;
  • Array.isArray:用来判断一个变量是否是数组类型;
  • Object.assign:用来合并多个对象的属性,将属性复制到目标对象;
  • Object.keys:用来获取一个对象自身可枚举的属性名称列表;
  • Object.prototype.toString:用于获取一个变量的数据类型信息;
  • JSON.stringify 和 JSON.parse:用于将 JSON 字符串和 JavaScript 对象之间进行相互转换。

工具方法封装实例

示例一:时间戳格式转换

在 Web 开发中,经常需要将时间戳转换为特定的时间格式,下面是一个封装这个功能的例子:

/**
 * 时间戳格式化函数
 *
 * @param {number} timestamp - 时间戳
 * @param {string} format - 时间格式
 * @returns {string} - 格式化后的时间字符串
 */
function formatDate(timestamp, format) {
  const date = new Date(timestamp);
  const map = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds(),
    'q+': Math.floor((date.getMonth() + 3) / 3),
    'S': date.getMilliseconds()
  };
  if (/(y+)/i.test(format)) {
    format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
  }
  Object.keys(map).forEach(key => {
    if (new RegExp(`(${key})`).test(format)) {
      format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? map[key] : ('00' + map[key]).substr(('' + map[key]).length));
    }
  });
  return format;
}

这个函数主要是将时间戳转换成指定格式的时间字符串,接收两个参数:timestamp 表示时间戳,format 表示时间格式,格式化后返回一个字符串。具体使用可以这样:

const timestamp = 1612742800000;
const format = 'yyyy-MM-dd hh:mm:ss';
const formatted = formatDate(timestamp, format);
console.log(formatted); // 输出:2021-02-08 00:00:00

示例二:数字格式化输出

在 Web 开发中,经常需要对数字进行格式化输出,下面是一个封装这个功能的例子:

/**
 * 格式化数字
 *
 * @param {number} number - 要格式化的数字
 * @param {number} decimals - 小数点保留位数
 * @param {string} thousandSeparator - 千位分割符
 * @param {string} decimalSeparator - 小数点分割符
 * @returns {string} - 格式化后的数字字符串
 */
function formatNumber(number, decimals = 2, thousandSeparator = ',', decimalSeparator = '.') {
  number = Number(number || 0).toFixed(decimals);
  const parts = number.split('.');
  let integerPart = parts[0].toString();
  let fractionPart = parts[1] ? decimalSeparator + parts[1].toString() : '';
  integerPart = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSeparator);
  return integerPart + fractionPart;
}

这个函数主要是将数字转换成指定的格式化字符串,接收四个参数:number 表示要格式化的数字,decimals 表示小数点保留位数,默认值为 2,thousandSeparator 表示千位分割符,默认值为 ',',decimalSeparator 表示小数点分割符,默认值为 '.'。具体使用可以这样:

const number = 1234567.891;
const formatted = formatNumber(number, 2, ',', '.');
console.log(formatted); // 输出:1,234,567.89

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript常用工具方法封装 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • js中eval详解

    JS中eval详解 eval 函数是 JavaScript 中的一个内置函数,它将字符串作为代码来解析和执行。这个函数通常被认为是危险的,因为它可以执行任何代码,包括恶意代码,从而导致安全风险。因此在使用 eval 函数时需要格外小心。 eval的语法 eval 函数的语法如下: eval(string) 其中,string 是一个字符串,可以包含任何有效的…

    JavaScript 2023年5月18日
    00
  • 前端程序员必须知道的高性能Javascript知识

    让我来介绍一下“前端程序员必须知道的高性能Javascript知识”的攻略。 什么是高性能Javascript 高性能Javascript指的是在运行Javascript代码时保持最佳性能的技巧和最佳实践。这些技巧和实践可帮助你在编写Javascript应用程序时提高性能,从而更快地加载和执行代码。 JS性能优化的原则 以下是我们在编写Javascript时…

    JavaScript 2023年5月27日
    00
  • Javascript Global encodeURI() 函数

    以下是关于JavaScript Global对象中encodeURI()函数的完整攻略,包括两个示例说明。 JavaScript Global对象中的encodeURI()函数 JavaScript Global对象中的encodeURI()函数用于将一个URI字符串进行编码以便在URI中使用。URI(Uniform Resource Identifier)…

    JavaScript 2023年5月11日
    00
  • 使用JavaScript计算前一天和后一天的思路详解

    十分感谢您的提问,我将为您提供如下对“使用JavaScript计算前一天和后一天的思路详解”的详细讲解攻略。 简介 首先,我们需要了解一下时间相关的标准,JavaScript中常见的有三种时间格式:时间戳、日期时间字符串、Date对象。其中,时间戳(Unix Timestamp / Epoch Time)一般指的是从1970年1月1日00:00:00至现在的…

    JavaScript 2023年5月27日
    00
  • JS操作字符串转换为数值并取整的代码

    当需要将JavaScript字符串转换为数值并取整时,可以使用以下方法: let stringNum = "123.45"; let intNum = parseInt(stringNum); 这里将介绍一些该代码中使用的知识点。 首先,parseInt()函数把前面的字符串参数解析成整数。如果字符串开始的字符无法被转换为数字,则该函数会…

    JavaScript 2023年5月28日
    00
  • Javascript 面向对象 重载

    JavaScript 是一种面向对象的编程语言,它支持函数重载,即同一函数名字,参数不同,对应的实现不同,JavaScript 可以通过这种方式实现函数重载。 什么是面向对象 面向对象(Object-Oriented Programming)是一种编程思想,它把对象作为程序的基本单元,将程序中的数据和操作数据的方法绑定在一起,以及保护数据的安全性。JavaS…

    JavaScript 2023年5月27日
    00
  • 关于JavaScript中JSON的5个小技巧分享

    下面是关于JavaScript中JSON的5个小技巧分享的完整攻略: 1. 使用JSON.parse()解析JSON字符串 在JavaScript中,我们可以使用JSON.parse()方法将JSON字符串解析为JavaScript对象。例如: const jsonStr = ‘{"name": "Tom", &quo…

    JavaScript 2023年5月27日
    00
  • Javascript类定义语法,私有成员、受保护成员、静态成员等介绍

    JavaScript类定义语法是一种创建类的方式,允许您定义类并定义其属性和方法。在JavaScript中,类定义是通过ES6提出的class关键字来完成的。类定义语法通常包含类的名称、构造函数和成员定义。 类的定义方式 类定义语法的一般格式是: class MyClass { constructor(/* 构造函数参数 */) { // 构造函数初始化代码…

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