123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- export function getQueryString(name) {
- let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i")
- let r = window.location.search.substr(1).match(reg)
- if (r != null) {
- return window.decodeURIComponent(r[2])
- }
- return null
- }
- export function debounce(fn, delay) {
- let timer; // 定时器
- return function (...args) { // 形成闭包
- // args 为函数调用时传的参数。
- let context = this;
- timer && clearTimeout(timer); // 当函数再次执行时,清除定时器,重新开始计时
- // 利用定时器,让指定函数延迟执行。
- timer = setTimeout(function () {
- // 执行传入的指定函数,利用apply更改this绑定和传参
- fn.apply(context, args);
- }, delay)
- }
- }
- export function throttle(fn, thresh) {
- var timeout
- var start = new Date;
- var threshhold = thresh || 500
- return function () {
- var context = this, args = arguments, curr = new Date() - 0
- clearTimeout(timeout)//总是干掉事件回调
- if (curr - start >= threshhold) {
- fn.apply(context, args) //只执行一部分方法,这些方法是在某个时间段内执行一次
- start = curr
- } else {
- // 让方法在脱离事件后也能执行一次
- timeout = setTimeout(function () {
- fn.apply(context, args)
- }, threshhold);
- }
- }
- }
- export function setStorage(key, value) {
- return localStorage.setItem(key, JSON.stringify(value));
- }
- export function getStorage(key) {
- const item = localStorage.getItem(key);
- try {
- return item ? JSON.parse(item) : '';
- } catch (e) {
- return item;
- }
- }
- export function guid() {
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
- var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
- return v.toString(16);
- });
- }
- export function scaleNumber(num) {
- let length = num.toString().split('.')[1].length;
-
- let scale = '1';
-
- for(let i = 0; i < length; i++) {
- scale += '0';
- }
- let val = num * scale;
- return {
- val,
- scale
- };
- }
- export function getBit (value) {
- const reg = /([0-9]+\.[0-9]{4})[0-9]*/;
- if(value) {
- let str = value.toString();
- str = str.replace(reg,"$1");
- return str;
- } else {
- return value;
- }
- }
|