itools.js
Version:
前端开发中常用的工具方法
2 lines (1 loc) • 2.93 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).iTools=t()}(this,(function(){"use strict";var e=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"/",r="";if(0!==n){var c=new Date;c.setTime(c.getTime()+1e3*n),r="expires=".concat(c.toGMTString(),";")}document.cookie="".concat(e,"=").concat(t," ;").concat(r,"path=").concat(o)},t=function(e){return{"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Object]":"object"}[Object.prototype.toString.call(e)]};return{cookie:{set:e,get:function(e){for(var t=document.cookie.split(/;\s*/),n=0;n<t.length;n++){var o=t[n].split("=");if(o[0]==e)return o[1]}return null},del:function(t){e(t,"",-1)}},type:t,clone:function e(n){var o,r=t(n);if("array"===r)o=[];else{if("object"!==r)return n;o={}}if("array"===r)for(var c=0,i=n.length;c<i;c++)o.push(e(n[c]));else if("object"===r)for(var a in n)o[a]=e(n[a]);return o},getParam:function(e,t){t=t||location.search.substr(1);var n=new RegExp("(^|\\?|&)".concat(e,"=([^&#]*)")).exec(t);return n?n[2]:""},download:function(e,t){var n=document.createElement("a");if(n){if(document.body.appendChild(n),n.style="display: none",n.download=e,n.href=t,document.createEvent){var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!1),n.dispatchEvent(o)}else document.createEventObject?n.fireEvent("onclick"):"function"==typeof n.onclick&&n.onclick();document.body.removeChild(n)}},copy:function(e){var t=document.createElement("input");t.style.position="absolute",t.style.opacity=0,t.value=e;var n=!0;try{t.select(),document.execCommand("Copy")}catch(e){n=!1}return document.body.appendChild(t),n},uniqueId:function(){var e=(+new Date).toString(36),t=Math.random().toString(36).split(".")[1];return"".concat(e,"_").concat(t)},randomStr:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"All";t=t.toLowerCase();for(var n="abcdefghijklmnopqrstuvwxyz",o="0123456789",r={letter:n,number:o,all:n+o}[t=["letter","number","all"].includes(t)?t:"all"],c="",i=0;i<e;i++)c+=r[~~(Math.random()*r.length)];return c},debounce:function(e,t){var n;return function(){var o=this,r=arguments;n&&clearTimeout(n),n=setTimeout((function(){e.apply(o,r)}),t)}},throttle:function(e,t){var n;return function(){var o=this,r=arguments;n||(n=setTimeout((function(){n=null,e.apply(o,r)}),t))}},trim:function e(n){var o=t(n);if("string"===o)n=n.trim();else if("array"===o)n=n.map((function(t){return e(t)}));else if("object"===o)for(var r in n)n[r]=e(n[r]);return n},once:function(e,t){var n=!1;return function(){if(!n){n=!0;try{e.apply(t,arguments)}catch(e){}}}}}}));