1. 获取url问号后面,name的值

/**
* *?id=123&a=b
* @return object
*/
export function urlParse(){
let url = window.location.search;
let obj = {};
let reg =/[?&][^?&]+=[^&]+/g;
let Arr = url.match(reg);
if(Arr){
Arr.forEach((item)=>{
let temArr = item.substring(1).split('=');
let key = decodeURIComponent(temArr[0]);
let value = decodeURIComponent(temArr[1]);
obj[key] = value;
});
}
return obj;
};

2. 存储商家id 以及读取 id

/**
* 存储商家id
*/
// 保存此 id
export function saveToLocal(id,key,value){
let seller = window.localStorage.sellerArr;
// 判断是否有本地存储
// 无 则创建 sellerArr 对象 创建 id的 对象
// 有 检查是否存在此id的属性 没有此属性则 创建此 id 的对象
if(!seller){
seller = {};
seller[id] = {};
}else{
seller = JSON.parse(seller);
// 查找是否存在 id 不存在继续添加属性
if(!seller[id]){
// 创建对象
seller[id] = {};
}
};
seller[id][key] =value;
window.localStorage.sellerArr = JSON.stringify(seller);
};
// 读取此 id
export function loadFromLocal(id,key,def){
let seller = window.localStorage.sellerArr;
// 判断是否有本地存储
if(!seller){
return def;
};
// 判断当前 id 是否存在
seller = JSON.parse(seller)[id];
if(!seller){
return def;
}
// 读取 bool
let ret = seller[key];
return ret || def ;
};

3.日期转化

export function formateDater(date,fmt){
//找到y+ 替换y+
if(/(y+)/.test(fmt)){
//console.log(RegExp.$1);
fmt = fmt.replace(RegExp.$1,date.getFullYear()+'');
};
let o ={
'M+' : date.getMonth()+1,
'd+' : date.getDate(),
'h+' : date.getHours(),
'm+' : date.getMinutes(),
's+' : date.getSeconds()
}
console.log(o);
for(let k in o){
if(new RegExp(`(${k})`).test(fmt)){
let str = o[k] + '' ;
fmt = fmt.replace(RegExp.$1,str);
}
};
return fmt;
}

4.dom操作

//判断是否有class
export function hasClass(el, className) {
let reg = new RegExp('(^|\\s)' + className + '(\\s|$)');
return reg.test(el.className);
}

//添加class
export function addClass(el, className) {
if (hasClass(el, className)) {
return;
}

let newClass = el.className.split(' ');
newClass.push(className);
el.className = newClass.join(' ');
}

//移除class
export function removeClass(el, className) {
if (!hasClass(el, className)) {
return
}
let newClass = el.className.split(' ');
newClass = newClass.splice(className,1);
el.className = newClass.join(' ');
}

//设置 /获取 自定义data- 属性的值
export function getData(el, name, val) {
const prefix = 'data-'
if (val) {
return el.setAttribute(prefix + name, val)
}
return el.getAttribute(prefix + name)
}

// 获取 n天后的 时间
function GetDateStr(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//获取当前几号,不足10补0
return y+"-"+m+"-"+d;
//return d+'/'+m+'/'+y
}

工具方法 .js的更多相关文章

  1. Underscore.js 常用类型判断以及一些有用的工具方法

    1. 常用类型判断以及一些有用的工具方法 underscore.js 中一些 JavaScript 常用类型检查方法,以及一些工具类的判断方法. 首先我们先来谈一谈数组类型的判断.先贴出我自己封装好的 ...

  2. 秒味课堂Angular js笔记------Angular js中的工具方法

    Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunc ...

  3. vue.js 源代码学习笔记 ----- 工具方法 env

    /* @flow */ /* globals MutationObserver */ import { noop } from 'shared/util' // can we use __proto_ ...

  4. jQuery工具方法

    目录 常用工具方法 判断数据类型的方法 Ajax操作 $.ajax 简便写法 Ajax事件 返回值 JSONP 文件上传 参考链接 jQuery函数库提供了一个jQuery对象(简写为$),这个对象本 ...

  5. angular的工具方法笔记(equals, HashKey)

    分别是angular脏值检测的工具方法equals和 类HashKey的使用方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi ...

  6. Make Things Move -- Javascript html5版(一)文件目录结构和工具方法准备

    从这一篇开始,就来开始我们的make things move之旅吧 在此之前,要知道ActionScript(AS)的语法和JS是不一样的,AS是相对于JS而言更好的支持了面向对象的特性,所以我们可以 ...

  7. jQuery常用工具方法

    前面的话 jQuery提供一些与元素无关的工具方法,不必选中元素,就可以直接使用这些方法.如果理解原生javascript的继承原理,那么就能理解工具方法的实质.它是定义在jQuery构造函数上的方法 ...

  8. JQuery --- 第一期 (初识jQuery, JQuery核心函数和工具方法)

    个人学习笔记  初识jQuery 1.我的第一个JQuery <!DOCTYPE html> <html lang="en"> <head> & ...

  9. jquery中的工具方法$.isFunction, $.isArray(), $.isWindow()

    本文正式地址:http://www.xiabingbao.com/jquery/2015/07/25/jquery-judge-type 在javascript中对变量类型的判断中,我们讲解了了jqu ...

随机推荐

  1. Idea + Git + GitLab 使用

    首先去下载Git,https://git-scm.com/ 安装好之后,打开Idea--->Settings,,,设置Git路径,然后点击Test按钮 然后是GitLab,一般企业内部开发都会有 ...

  2. C语言进阶--Day2

    今天主要讲解的是函数的压栈与出栈 1. 要实现一个数组的逆置,用栈的压栈出栈观点: reverseArr(int *parr,int i,int len) { if(i != len-1) rever ...

  3. C语言#和##操作符使用方法

    1.#操作符              1:#操作符用于预处理阶段,将宏参数转换为字符串,只有宏定义中使用(#define) 使用方法: #define  STRING(x)   #x printf( ...

  4. mongodb的sql日志

    在Yii2中是没有打印出mongodb的sql语句,故借用下log来查看吧. 在网上有说可以使用$model->find()->createCommand()->getRawSql( ...

  5. day13-(事务&mvc&反射补充)

    回顾: jsp: java服务器页面 jsp的脚本 jsp的注释 html注释 java注释 jsp注释 <%-- --%> jsp的指令 page:声明页面一些属性 重要的属性: imp ...

  6. python OrderDict

    # encoding: utf-8 import csv import collections d = {'banana':3,'apple':4,'pear':1,'orange':2} print ...

  7. Tensorflow object detection API 搭建物体识别模型(四)

    四.模型测试 1)下载文件 在已经阅读并且实践过前3篇文章的情况下,读者会有一些文件夹.因为每个读者的实际操作不同,则文件夹中的内容不同.为了保持本篇文章的独立性,制作了可以独立运行的文件夹目标检测. ...

  8. java8的Streams

    首先看一个问题:在这个task集合中一共有多少个OPEN状态的?计算出它们的points属性和.在Java 8之前,要解决这个问题,则需要使用foreach循环遍历task集合:但是在Java 8中可 ...

  9. angular,vue,react的基本语法—插值表达式,渲染数据,响应式数据

    基本语法: 1.插值表达式: vue:{{}} react:{} angular:{{}} 2.渲染数据 vue js: export default{ data(){ return{ msg:&qu ...

  10. Mysql数据库进阶之(分表分库,主从分离)

    前言:数据库的优化是一个程序员的分水岭,作为小白我也得去提前学习这方面的数据的 (一)  三范式和逆范式 听起范式这个迟非常专业我来举个简单的栗子: 第一范式就是:  把能够关联的每条数据都拆分成一个 ...