UNPKG

itools.js

Version:

前端开发中常用的工具方法

2 lines (1 loc) 2.75 kB
var t=function(t,e){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(t,"=").concat(e," ;").concat(r,"path=").concat(o)},e=function(t){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(t)]},n={cookie:{set:t,get:function(t){for(var e=document.cookie.split(/;\s*/),n=0;n<e.length;n++){var o=e[n].split("=");if(o[0]==t)return o[1]}return null},del:function(e){t(e,"",-1)}},type:e,clone:function t(n){var o,r=e(n);if("array"===r)o=[];else{if("object"!==r)return n;o={}}if("array"===r)for(var c=0,a=n.length;c<a;c++)o.push(t(n[c]));else if("object"===r)for(var i in n)o[i]=t(n[i]);return o},getParam:function(t,e){e=e||location.search.substr(1);var n=new RegExp("(^|\\?|&)".concat(t,"=([^&#]*)")).exec(e);return n?n[2]:""},download:function(t,e){var n=document.createElement("a");if(n){if(document.body.appendChild(n),n.style="display: none",n.download=t,n.href=e,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(t){var e=document.createElement("input");e.style.position="absolute",e.style.opacity=0,e.value=t;var n=!0;try{e.select(),document.execCommand("Copy")}catch(t){n=!1}return document.body.appendChild(e),n},uniqueId:function(){var t=(+new Date).toString(36),e=Math.random().toString(36).split(".")[1];return"".concat(t,"_").concat(e)},randomStr:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"All";e=e.toLowerCase();for(var n="abcdefghijklmnopqrstuvwxyz",o="0123456789",r={letter:n,number:o,all:n+o}[e=["letter","number","all"].includes(e)?e:"all"],c="",a=0;a<t;a++)c+=r[~~(Math.random()*r.length)];return c},debounce:function(t,e){var n;return function(){var o=this,r=arguments;n&&clearTimeout(n),n=setTimeout((function(){t.apply(o,r)}),e)}},throttle:function(t,e){var n;return function(){var o=this,r=arguments;n||(n=setTimeout((function(){n=null,t.apply(o,r)}),e))}},trim:function t(n){var o=e(n);if("string"===o)n=n.trim();else if("array"===o)n=n.map((function(e){return t(e)}));else if("object"===o)for(var r in n)n[r]=t(n[r]);return n},once:function(t,e){var n=!1;return function(){if(!n){n=!0;try{t.apply(e,arguments)}catch(t){}}}}};export default n;