你要的几个JS实用工具函数(持续更新)

今天,我们来总结下我们平常使用的工具函数,希望对大家有用。1、封装fetch源码:/** * 封装fetch函数,用Promise做回调 * @type {{get: (function(*=)), post: (function(*=, *=))}} */const fetchUtil = { get: (url) => { return new Promise((resolve, reject) => { fetch(url, { method: ‘GET’, headers: { ‘Content-Type’: ‘application/x-www-form-urlencoded’, } }).then((response) => response.json()).then(response => { resolve(response); }).catch(err => { reject(new Error(err)); }); }); }, post: (url, params) => { return new Promise((resolve, reject) => { fetch(url, { method: ‘POST’, headers: { ‘Content-Type’: ‘application/x-www-form-urlencoded’, }, body: params }).then((response) => response.json()).then(response => { resolve(response); }).catch(err => { reject(new Error(err)); }); }); }};export default fetchUtil;使用:import Fetch from “../util/FetchUtil.js”; // post请求 post(){ let params = “”; params += “phone=” + “xxxxxx” + “&password=”+”123456”; Fetch.post(“https://carvedu.com/api/user/sms”, this.params) .then(res => { console.log(res); }) .catch(err => { console.log(err); }); } // get请求 get() { Fetch.get(“https://carvedu.com/api/courses”) .then(res => { console.log(res); }) .catch(err => { console.log(err); }); }2、判断浏览器环境源码:function getSystem(){ const mac = /mac/i, linux = /linux/i, win = /win/i; const platform = navigator.platform.toLowerCase(); if(mac.test(platform)){ return ‘MAC’; } else if(win.test(platform)){ return ‘WIN’; } else if(linux.test(platform)){ return ‘Linux’; } return undefined;}const browser = { versions:function(){ let ret = ‘xxSys’; const u = navigator.userAgent; const isMobile = !!u.match(/AppleWebKit.*Mobile.*/), ios = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), android = u.indexOf(‘Android’) > -1 || u.indexOf(‘Adr’) > -1; if(isMobile){ if(ios) return ‘IOS’; if(android) return ‘Android’; } else { ret = getSystem() || ret; } return ret; }(),};export default browser;使用:import browser from “../util/browers.js”console.log(browser.versions);3、计算时间差源码:let startTime = new Date().getTime();export const start = (v) =>{ if(v===’reset’){ return startTime = new Date().getTime(); } else{ return startTime; }}使用:import {start} from “../util/Time.js”click(){ let userTime = new Date().getTime()-start(); start(‘reset’);}4、封装正则库源码:export default { // 正则 regExp:()=>{ return { mPattern :/^1[345789]d{9}$/, //手机号验证规则 cP : /^[1-9]d{5}(18|19|([23]d))d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)d{3}[0-9Xx]$/, // 身份证验证规则 regCode : /^d{4}$/ //验证码规则 /*……*/ } }}使用:import regExp from ‘../util/regExp.js’reg(){ var value =”” // 手机号码举例 console.log(regExp.regExp().mPattern.test(value));},

。。。。。。。。。。。。。

作者:Vam的金豆之路

篇幅有限更多请见扩展链接:http://www.mark-to-win.com/tutorial/50912.html

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年7月8日
下一篇 2022年7月8日

相关推荐

  • Python 数据结构之元组

    大家好啊,我是大田。 1、元组的定义下面 5 种形式都为定义元组的方式t = tuple(‘python’)t1 = (‘p’, &…

    2022年7月2日
  • 你穿什么衣服,就是什么命

    文/时光了了 哲学上把现象分为真象以及假象,前者的意思是,你呈现出来的面貌就是真实的你,而后者的意思是,你所呈现出来的面貌是通过包装后的虚假的你。 但不管是真象还是假象,我们都是能…

    2022年8月14日
  • Python入门系列(四)傻傻分不清:列表、元组、字典、集合的区别

    四句话总结 列表是一个有序且可更改的集合,允许重复成员。 元组是一个有序且不可更改的集合,允许重复成员。 集合是一个无序、不可更改*且未索引的集合,没有重复成员。 字典是一个有序且…

    2022年8月22日
  • 聊聊 C++ 右值引用 和 移动构造函数

    一: 背景 最近在看 C++ 的右值引用和移动构造函数,感觉这东西一时半会还挺难理解的,可能是没踩过这方面的坑,所以没有那么大的深有体会,不管怎么说,这一篇我试着聊一下。 二: 右…

    2022年7月26日
  • 有驾驶证的好处有哪些?

    有驾驶证,你可以合法上路,好处那可是非常多了。 在有车的情况下,你可以开车去你想去的任何地方,来场“说走就走”的旅行。近一点,可以在周边玩玩;远一点,进藏都不是事。 开车上下班也是…

    2022年7月31日
  • 16个基本导数公式(arctanx的导数是什么)

    反三角函数的定义值及值域这里简单总结了反三角函数的定义、其对应的三角函数、其定义域、值域,其后利用反函数求导法则完成了所有反函数求导公式的推导证明。不难看出上述推导过程其实都并不复…

    2022年11月6日
  • Node-RED:IBM开源的新兴可视化低代码物联网编排平台

    简介 Node-RED 是 IBM 新兴技术服务团队构建的可视化物联网编排工具,可基于浏览器的流程编辑器连接设备、服务器和 API 应用。 Node-RED也可以理解成一种基于No…

    2022年6月28日
  • 让人心里厌烦的热情

    热情是人际交往时的基本态度。包含礼节礼仪,神情举止,待人接物等。 在与朋友、熟人的交往时,既要热情大方,又要适度有节。如果热情过度,反而让对方内心感觉不舒适。特别是对于性格内敛的人…

    2022年8月23日
  • ASP.NET超市在线购物商城源码

    ASP.NET超市在线购物商城源码 便利店商城源码 一、源码特点 1、采用典型的三层架构进行开发、模板分离,支持生成静态 、伪静态、购物车、登陆验证、p+css、js等技术。 二、…

    2022年6月29日
  • 来一波js最简化高效封装Cookie

    封装cookie cookie.jsconst cookies = { cookie: { // 设置cookie set: (name, value, day) => { …

    2022年7月10日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息