常用的前端js函数封装,可以直接用( 四 )


function jsonp(url, callback) {var oscript = document.createElement('script');if (oscript.readyState) { // ie8及以下版本oscript.onreadystatechange = function () {if (oscript.readyState === 'complete' || oscript.readyState === 'loaded') {callback();}}} else {oscript.onload = function () {callback()};}oscript.src = https://www.isolves.com/it/cxkf/yy/js/2021-04-02/url;document.body.appendChild(oscript);}44、获取url上的参数
function getUrlParam(sUrl, sKey) {var result = {};sUrl.replace(/(w+)=(w+)(?=[&|#])/g, function (ele, key, val) {if (!result[key]) {result[key] = val;} else {var temp = result[key];result[key] = [].concat(temp, val);}})if (!sKey) {return result;} else {return result[sKey] || '';}}45、格式化时间
function formatDate(t, str) {var obj = {yyyy: t.getFullYear(),yy: ("" + t.getFullYear()).slice(-2),M: t.getMonth() + 1,MM: ("0" + (t.getMonth() + 1)).slice(-2),d: t.getDate(),dd: ("0" + t.getDate()).slice(-2),H: t.getHours(),HH: ("0" + t.getHours()).slice(-2),h: t.getHours() % 12,hh: ("0" + t.getHours() % 12).slice(-2),m: t.getMinutes(),mm: ("0" + t.getMinutes()).slice(-2),s: t.getSeconds(),ss: ("0" + t.getSeconds()).slice(-2),w: ['日', '一', '二', '三', '四', '五', '六'][t.getDay()]};return str.replace(/([a-z]+)/ig, function ($1) {return obj[$1]});}46、验证邮箱的正则表达式
function isAvailableEmail(sEmail) {var reg = /^([w+.])+@w+([.]w+)+$/return reg.test(sEmail)}47、函数柯里化
//是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术function curryIt(fn) {var length = fn.length,args = [];var result = function (arg) {args.push(arg);length--;if (length <= 0) {return fn.apply(this, args);} else {return result;}}return result;}48、大数相加
function sumBigNumber(a, b) {var res = '', //结果temp = 0; //按位加的结果及进位a = a.split('');b = b.split('');while (a.length || b.length || temp) {//~~按位非 1.类型转换,转换成数字 2.~~undefined==0temp += ~~a.pop() + ~~b.pop();res = (temp % 10) + res;temp = temp > 9;}return res.replace(/^0+/, '');}49、单例模式
function getSingle(func) {var result;return function () {if (!result) {result = new func(arguments);}return result;}}原作者地址
https://zhuanlan.zhihu.com/p/353795407
谢谢,点赞关注,长期分享编程知识 。

【常用的前端js函数封装,可以直接用】


推荐阅读