JavaScript常用工具函数大全

yizhihongxing

JavaScript常用工具函数大全

本文将收集整理一些常用的 JavaScript 工具函数,旨在帮助开发者在日常工作中更加高效地编写代码。

1. 数组相关函数

1.1 isArray()

判断一个值是否是数组。

function isArray(value) {
  return Array.isArray(value);
}

示例:

isArray([]);                //true
isArray({});                //false

1.2 flatten()

将嵌套的数组打平成一维数组。

function flatten(arr, result = []) {
  arr.forEach(item => {
    if(Array.isArray(item)) {
      flatten(item, result);
    }else{
      result.push(item);
    }
  });
  return result;
}

示例:

flatten([1, 2, [3, 4], [5, 6, [7, 8]]]);                //[1, 2, 3, 4, 5, 6, 7, 8]

2. 字符串相关函数

2.1 capitalize()

将字符串首字母大写。

function capitalize(str) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}

示例:

capitalize('hello world');            //'Hello world'

2.2 toCamelCase()

将横杠或下划线连接的字符串转换为驼峰式。

function toCamelCase(str) {
  return str.replace(/[-_](.)/g, (_, c) => {
    return c.toUpperCase();
  });
}

示例:

toCamelCase('my-name-is-john');                //'myNameIsJohn'

3. 时间日期相关函数

3.1 formatDate()

将日期对象格式化为字符串。

function formatDate(d, format) {
    const padZero = (num) => String(num).padStart(2, '0');
    const year = d.getFullYear();
    const month = padZero(d.getMonth() + 1);
    const date = padZero(d.getDate());
    const hours = padZero(d.getHours());
    const minutes = padZero(d.getMinutes());
    const seconds = padZero(d.getSeconds());
    const ms = padZero(d.getMilliseconds());
    const map = {
        'yyyy': year,
        'MM': month,
        'dd': date,
        'HH': hours,
        'mm': minutes,
        'ss': seconds,
        'SSS': ms
    };
    return format.replace(/yyyy|MM|dd|HH|mm|ss|SSS/g, match => map[match]);
}

示例:

const d = new Date();
formatDate(d, 'yyyy-MM-dd HH:mm:ss.SSS');                //'2022-03-11 22:44:23.377'

3.2 getTimeZone()

获取时区。

function getTimeZone() {
  const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
  return timeZone;
}

示例:

getTimeZone();                //'Asia/Shanghai'

4. 其他函数

4.1 throttle()

控制函数的执行频率。

function throttle(func, delay = 100) {
  let timer = null;
  return function(...args) {
    if(timer) {
      return;
    }
    timer = setTimeout(() => {
      func.apply(this, args);
      timer = null;
    }, delay);
  }
}

示例:

function sayHi() {
  console.log('hello');
}
const throttledFn = throttle(sayHi, 5000);
throttledFn();                //'hello'  5秒后再次执行不会立即输出

结语

以上是笔者整理的一些 JavaScript 常用工具函数,希望能够对您的开发工作有所帮助。如有错误或不足之处,敬请指正。

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

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

相关文章

  • JS如何对Iframe内外页面进行操作总结

    下面是JS如何对Iframe内外页面进行操作总结的完整攻略: 1. 通过window.parent获取父级页面对象并进行操作 window.parent用于获取当前iframe的父级页面对象,通过它可以调用父级页面的函数或属性进行操作。以下是一个示例进行说明: <!– 父级页面index.html –> <!DOCTYPE html&g…

    JavaScript 2023年6月11日
    00
  • 深入理解JavaScript编程中的原型概念

    深入理解JavaScript编程中的原型概念 JavaScript 中的原型是 JavaScript 编程中的核心概念,对于理解 JavaScript 中的对象和继承非常重要。 原型总览 在 JavaScript 中,每个对象都有一个原型。当你访问一个实例属性时,JavaScript 首先查找实例对象是否具有该属性,如果没有,则沿着原型链向上查找该属性。原型…

    JavaScript 2023年6月10日
    00
  • ES6新增的math,Number方法

    下面是ES6新增的math和Number方法的详细讲解: Math对象 Math.trunc() Math.trunc(x) 方法用于去除一个数的小数部分,返回整数部分。实现原理为直接舍去所有小数位。 示例代码: Math.trunc(4.9); //4 Math.trunc(-4.9); //-4 Math.sign() Math.sign(x)方法用来判…

    JavaScript 2023年6月10日
    00
  • 前端 JavaScript运行原理

    前端 JavaScript 运行原理是指在浏览器中,JavaScript 代码是如何被解析,执行和呈现的过程。整个过程可以分为以下几个阶段: 词法分析阶段:浏览器首先会对 JavaScript 代码进行词法分析,将代码分解为一个个 token,包括语句、变量名、操作符等。每个 token 都有自己的类型和意义。 语法分析阶段:浏览器在词法分析的基础上,对 T…

    JavaScript 2023年5月27日
    00
  • JavaScript将数据转换成整数的方法

    JavaScript提供了几种方法将数据转换成整数。以下是一些常见的方法: parseInt()函数 parseInt()是在JavaScript中将字符串转换为整数的最常见的方法之一。它通过解析字符串并返回表示整数的数字,可以忽略字符串中非数字的字符。 let num1 = parseInt("10"); // 输出10 let num…

    JavaScript 2023年5月28日
    00
  • 在web worker中使用fetch实例详解

    下面是针对“在web worker中使用fetch实例详解”的完整攻略: 什么是Web Worker Web Worker是一项Web技术,它是一种能够让JavaScript代码在浏览器后台运行的机制。通过Web Worker,可以让一部分长时间运行的JavaScript代码运行在单独的线程中,而不会阻塞UI线程的运行,从而提高了JavaScript的执行效…

    JavaScript 2023年5月28日
    00
  • JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)

    当我们需要把一个字符串按照某种规则分割成一个数组时,可以使用JavaScript字符串对象的split方法。本文将详细讲解JavaScript字符串对象split方法的使用方法。 split方法基本语法 split()方法的基本语法如下: string.split(separator, limit) 其中,separator参数为分隔符,可以是字符串或正则表…

    JavaScript 2023年5月27日
    00
  • 浅谈js内置对象Math的属性和方法(推荐)

    下面我来详细讲解“浅谈js内置对象Math的属性和方法(推荐)”的完整攻略。 1. Math对象的属性 Math对象是JS的内置对象之一,它包含了常用的数学属性和方法。Math对象有很多的属性,这里我们介绍几个常见的属性。 Math.E:表示自然对数的底数,即e,大约等于2.718281828459045。 Math.PI:数学常数,表示圆周率π,大约等于3…

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