更新常用的js工具函数
在手机调试时打印代码
<script src="https://cdn.bootcss.com/vConsole/3.3.0/vconsole.min.js"></script>
<script>
var vConsole = new VConsole();
console.log('VConsole is cool');
</script>
import * as date from "./date.js";
/**
* 函数防抖 (只执行最后一次点击)
* @param fn
* @param delay
* @returns {Function}
* @constructor
*/
export const Debounce = (fn, t) => {
let delay = t || 500;
let timer;
console.log(fn)
console.log(typeof fn)
return function () {
let args = arguments;
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(() => {
timer = null;
fn.apply(this, args);
}, delay);
}
};
/**
* 函数节流
* @param fn
* @param interval
* @returns {Function}
* @constructor
*/
export const Throttle = (fn, t) => {
let last;
let timer;
let interval = t || 500;
return function () {
let args = arguments;
let now = +new Date();
if (last && now - last < interval) {
clearTimeout(timer);
timer = setTimeout(() => {
last = now;
fn.apply(this, args);
}, interval);
} else {
last = now;
fn.apply(this, args);
}
}
};
/**
* 转换日期格式为2019年11月11日、2019年正月初一
* @param {*} name
* @param {*} value
* @param {*} expiredays
*/
export const getChangeDate = (info, type) => {
let birthInfoText = ''
// 日期互转
const lunar = date.solar2lunar(
parseInt(info.birthDayYear),
parseInt(info.birthDayMonth),
parseInt(info.birthDayDay),
);
console.log(info);
if (type == 2) {
birthInfoText = `农历 ${lunar.lYear||1985}年${lunar.IMonthCn||1}${lunar.IDayCn||1}`;
} else {
birthInfoText = `公历 ${info.birthDayYear||1985}年${info.birthDayMonth||1}月${info.birthDayDay||1}日`;
}
return birthInfoText
}
// 存储cookie
export const SetCookie = (name, value, expiredays) => {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
var cookieVal = name + "=" + encodeURI(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())+ ";path=/";
document.cookie = cookieVal;
}
/*读取cookie*/
export const GetCookie = (sKey) => {
sKey = sKey.replace(/([\.\[\]\$])/g, '\\\$1');
var rep = new RegExp(sKey + '=([^;]*)?;', 'i');
var co = document.cookie + ';';
var res = co.match(rep);
if (res) {
return decodeURI(res[1]) || "";
} else {
return null;
}
};
/*删除cookie*/
export const DelCookie = (sKey) => {
SetCookie(sKey,"",-1)
}
// 获取参数
export const getQueryString = (name) => {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return "";
}
// 键盘
export const hackScrollTop = (vnode, offsetVal) => {
let target = vnode;
let t = navigator.userAgent;
// 区分组件和DOM
target.offsetTop || (target = vnode.$el);
if (t.indexOf("Android") > -1 || t.indexOf("Adr") > -1) {
document.documentElement.scrollTop = document.body.scrollTop =
target.offsetTop + parseInt(offsetVal);
}
setTimeout(() => {
target.scrollIntoViewIfNeeded();
}, 400);
}
// 定位
export const stackScroll = (vnode, offsetVal) => {
let target = vnode;
let t = navigator.userAgent;
// 区分组件和DOM
target.offsetTop || (target = vnode.$el);
document.documentElement.scrollTop = document.body.scrollTop =
target.offsetTop + parseInt(offsetVal);
setTimeout(() => {
target.scrollIntoViewIfNeeded();
}, 400);
}
// 判断是否是数字
export const isRealNum = (val) => {
// isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除
if (val === "" || val == null) {
return false;
}
if (!isNaN(val)) {
return true;
} else {
return false;
}
}
// 判断null NaN undefined
export const isHasValue = (val) => {
if(val){
if (!val) {
return false;
}else if(val=='undefined'||val=='null'||val==' '||val=='NaN'){
return false;
}else{
return true
}
}else{
return false
}
}
//获取QS
更新常用的js工具函数的更多相关文章
- 封装一些常用的js工具函数-不定时更新(希望大家积极留言,反馈bug^_^)
/*华丽------------------------------------------------------------------------------------------------ ...
- 常用的js工具函数
JS选取DOM元素的方法注意:原生JS选取DOM元素比使用jQuery类库选取要快很多1.通过ID选取元素document.getElementById('myid');2.通过CLASS选取元素do ...
- js工具函数《转载收藏》
1.等待所有图片加载 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 var imgObjs = [], count = 0; rotate.prize ...
- JS 工具函数 方法(其中js的crc32和php的crc32区别)
var util = {}; util.indexOf = function (array, item) { for (var i = 0; i < array.length; i++) { i ...
- JS工具函数汇总
备注:http://phpjs.org/ 这个站点把PHP常用的方法用js实现了,推荐一下 1.从数组中随机获取几个不重复项 //从一个给定的数组arr中,随机返回num个不重复项 function ...
- (总结)工作中常用的js自定义函数——日期时间类
//设置时间类 var Wsdatatime = function(){ this.today = (new Date()).getTime(); //当前时间 } Wsdatatime.protot ...
- JavaScript常用工具函数
检测数据是不是除了symbol外的原始数据 function isStatic(value) { return ( typeof value === 'string' || typeof value ...
- 你要的几个JS实用工具函数(持续更新)
今天,我们来总结下我们平常使用的工具函数,希望对大家有用.1.封装fetch 源码: /** * 封装fetch函数,用Promise做回调 * @type {{get: (function(*=)) ...
- 工作中常用的JS函数整理分享(欢迎大家补充)
今年在渣X工作整理的常用JS函数 今年来了渣X工作,我所在这个部门分工很奇怪,CSS竟然有专门的人在搞,开发PHP的人员需要处理JS,以至于有时候开发起来不是那么得心应手,感觉把JS和CSS拆开就像是 ...
随机推荐
- CATTI二级口译训练
Vice chancellor, faculty members and dear students, It is my great pleasure and privilege to visit C ...
- JS遍历获取多个控件(使用索引‘i’)
1.n个tid="n1"的input.n个tid="n2"的input.n个tid="n3"的input---循环遍历 ; i <= ...
- hdu1085Holding Bin-Laden Captive!组合问题
题目连接 题目意思:有单位价值为1 2 5的三种硬币,分别给出他们的数量,求用这些硬币不能组成的最小的价值 解题思路:普通的母函数 普通的母函数: 利用母函数的思想可以解决很多组合问题,下面举例说明: ...
- 解决 maps to localhost, but this does not map back to the address
修改 /etc/ssh/ssh_config vim /etc/ssh/ssh_config GSSAPIAuthentication no
- 1095 Cars on Campus (30)(30 分)
Zhejiang University has 6 campuses and a lot of gates. From each gate we can collect the in/out time ...
- MySQL学习_查看各仓库产品的销售情况_20161102
订单表结构是具体到每个订单下面多个产品,而仓库出货的表结构是对每个订单的金额汇总 不区分订单产品 因此如果想计算每个仓库每个产品的销售情况 需要将两个表连接起来 并且产品是昨天在线且有库存的产品 #昨 ...
- kettle导数到user_用于left join_20160928
这篇博客主要是给mysql left join做铺垫,需要现在本地数据库创建一个users 数据表 然后去和 test_a03order表 left join 一.首先在local_db数据库先创建 ...
- bzoj 1954 & poj 3764 The xor-longest Path dfs+Trie
题目大意 给定一棵n个点的带权树,求树上最长的异或和路径 题解 因为\(xor\)操作满足可结合性,所以有 \(a\text{ }xor\text{ }b\text{ }xor\text{ }b = ...
- 洛谷P1020导弹拦截——LIS
题目:https://www.luogu.org/problemnew/show/P1020 主要是第二问,使用了dilworth定理:一个序列中最长不上升子序列的最大覆盖=最长上升子序列长度. di ...
- Lagom学习 四 CompletionStage
Future: Java 8 之前的 Java 版本功能较弱,仅支持两种用法:要么检查 future 是否已经完成,要么等待 future 完成; Java 8 增加了 CompletableFutu ...