没有合适的资源?快使用搜索试试~ 我知道了~
JavaScript常用工具函数库汇总.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 65 浏览量
2022-07-05
22:17:39
上传
评论
收藏 10KB DOCX 举报
温馨提示
试读
3页
JavaScript常用工具函数库汇总.docx
资源推荐
资源详情
资源评论
JavaScript常⽤⼯具函数库汇总
对象或数组的深拷贝
/**
*
对象或数组的深拷贝
*
@param {*} cloneObj 被克隆的对象
*
@param {*} targetObj 克隆的⽬标对象
*
@param {*} isOverride 若属性重复,是否覆盖被克隆对象的属性
*/
function deepClone(cloneObj, targetObj, isOverride = true) {
const _toString = Object.prototype.toString
if (_toString.call(cloneObj) !== '[object Array]' && _toString.call(cloneObj) !== '[object Object]') {
return cloneObj
}
var cloneTarget = _toString.call(cloneObj) === '[object Array]' ? [] : {}
for (let key in cloneObj) {
if (Object.prototype.hasOwnProperty.call(cloneObj, key)) {
if (_toString.call(cloneObj[key]) === '[object Array]' || _toString.call(cloneObj[key]) === '[object Object]') {
cloneTarget[key] = deepClone(cloneObj[key])
} else {
cloneTarget[key] = cloneObj[key]
}
}
}
if (targetObj && (_toString.call(cloneObj) === _toString.call(targetObj))) {
// 这⾥要注意,克隆的⽬标对象也要deepClone下
cloneTarget = isOverride
Object.assign(cloneTarget, deepClone(targetObj))
: Object.assign(deepClone(targetObj), cloneTarget)
}
return cloneTarget
}
精准判断数据类型
//精准判断数据类型
function getVerifyDataTypes() {
const types = ["String", "Number", "Boolean", "Null", "Undefined", "Function", "Object", "Array", "Date", "Error", "RegExp", "Symbol", "Map", "Set"]
let Type = {}
// ⽰例⽤法:Type.isString('javascript')
for (let i = 0; i < types.length; i++) {
Type[`is${types[i]}`] = obj => Object.prototype.toString.call(obj) === `[object ${types[i]}]`
}
// 判断字符串是否为json格式
Type.isJsonStr = str => {
if (typeof str == 'string') {
try {
let obj = JSON.parse(str);
if (obj && typeof obj == 'object') {
return true;
}
return false;
} catch (e) {
return false;
}
} else {
return false;
}
}
return Type
}
⽇期格式化
/**
*
⽇期格式化
*
@param {*} date ⽇期对象
*
@param {*} beforeHyphen 年⽉⽇连字符
*
@param {*} afterHyphen 时分秒连字符
*/
function formatDate(date = new Date(), beforeHyphen = '-', afterHyphen = ':') {
const formatNumber = n => {
n = n.toString()
资源评论
Cheng-Dashi
- 粉丝: 108
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功