JS常用Utils 图片预加载123456789101112131415161718192021222324252627282930313233/** * 预加载图片 * @param source Array 预加载图片列表 *//*预加载图片*/function preLoadImg(source) { /*加载图片方法*/ function loadImage(url) { return new Promise((resolve, reject) => { let img = new Image(); img.onload = () => resolve(img); img.onerror = reject; img.src = url; }); } let pr = []; source.forEach((url) => { // 预加载图片 let p = loadImage(url) .then(() => { console.log("Single image loading completed"); }) .catch((err) => { console.log(err); }); pr.push(p); }); // 图片全部加载完 Promise.all(pr).then(() => { console.log("All images loaded"); });} 获取 url 参数1234567891011/** * 获取URL参数 * @param name String 要获取的参数Key */function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null;} 判断 str 字符串中是否含有字符串1234567891011121314151617181920212223242526/** * 判断 str 字符串中是否含有字符串 subStr * @param {} str 原字符串 * @param {} subStr 要查找的字符串 * @param {} isIgnoreCase 是否忽略大小写 * @return {Boolean} */function contains(str, subStr, isIgnoreCase) { if (isIgnoreCase) { // 忽略大小写 str = str.toLowerCase(); subStr = subStr.toLowerCase(); } var startChar = subStr.substring(0, 1); var strLen = subStr.length; for (var j = 0; j < str.length - strLen + 1; j++) { if (str.charAt(j) == startChar) { /* 如果匹配起始字符,开始查找 */ if (str.substring(j, j + strLen) == subStr) { /*如果从j开始的字符与 str 匹配 */ return true; } } } return false;} cookie 操作 设置 cookie 123456789101112131415/** * 设置cookie * @param name String key * @param value String Value * @param expdays Number 过期时间 */function setCookie(name, value, expdays) { var expdate = new Date(); //设置Cookie过期日期 expdate.setDate(expdate.getDate() + expdays); //添加Cookie document.cookie = name + "=" + escape(value) + ";expires=" + expdate.toUTCString();} 获取 cookie 12345678910111213141516171819/** * 获取cookie * @param name String key * @returns {string} */function getCookie(name) { //获取name在Cookie中起止位置 var start = document.cookie.indexOf(name + "="); if (start != -1) { start = start + name.length + 1; //获取value的终止位置 var end = document.cookie.indexOf(";", start); if (end == -1) end = document.cookie.length; //截获cookie的value值,并返回 return unescape(document.cookie.substring(start, end)); } return "";} 删除 cookie 1234567function delCookie(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = getCookie(name); if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();} 上述功能已经发布至 NPM 参考p-utils js #js JS常用Utils https://blog.funfe.cn/2023/12/07/20231207173941/ 作者 李鹏杰 发布于 2023年12月7日 许可协议 使用 githubActions 完成NPM包自动发布 上一篇 使用nrm管理npm源 下一篇