文章目录
搬运平时常用的工具函数
isStatic:检测数据是不是除了 symbol 外的原始数据
1 | function isStatic(value) { |
isPrimitive:检测数据是不是原始数据
1 | function isPrimitive(value) { |
isObject:判断数据是不是引用类型的数据
例如: arrays, functions, objects, regexes, new Number(0),以及 new String(‘’)
1 | function isObject(value) { |
isObjectLike:检查 value 是否是 类对象。
如果一个值是类对象,那么它不应该是 null,而且 typeof 后的结果是 “object”
1 | function isObjectLike(value) { |
getRawType:获取数据类型,返回结果为 Number、String、Object、Array 等
1 | function getRawType(value) { |
isPlainObject:判断数据是不是 Object 类型的数据
1 | function isPlainObject(obj) { |
isArray:判断数据是不是数组类型的数据
1 | function isArray(arr) { |
isArrayLike:检查 value 是否是类数组
如果一个值被认为是类数组,那么它不是一个函数,并且 value.length 是个整数,大于等于 0,小于或等于 Number.MAX_SAFE_INTEGER。这里字符串也将被当作类数组。
1 | function isArrayLike(value) { |
isEmpty:检查 value 是否为空
如果是 null,直接返回 true;如果是类数组,判断数据长度;如果是 Object 对象,判断是否具有属性;如果是其他数据,直接返回 false(也可改为返回 true)
1 | function isEmpty(value) { |
cached:记忆函数:缓存函数的运算结果
1 | function cached(fn) { |
camelize:横线转驼峰命名
1 | let camelizeRE = /-(\w)/g |
hyphenate:驼峰命名转横线命名:拆分字符串,使用 - 相连,并且转换为小写
1 | let hyphenateRE = /\B([A-Z])/g |
capitalize:字符串首位大写
1 | function capitalize(str) { |
extend:将属性混合到目标对象中
1 | function extend(to, _from) { |
识别各种浏览器及平台
1 | //运行环境是浏览器 |
getExplorerInfo:获取浏览器信息
1 | function getExplorerInfo() { |
isPCBroswer:检测是否为 PC 端浏览器模式
1 | function isPCBroswer() { |
dateFormater:格式化时间
1 | function dateFormater(formater, t) { |
dateStrForma:将指定字符串由一种时间格式转化为另一种
from 的格式应对应 str 的位置
1 | function dateStrForma(str, from, to) { |
GetUrlParam:获取 Url 参数,返回一个对象
1 | function GetUrlParam() { |
downloadFile:base64 数据导出文件,文件下载
1 | function downloadFile(filename, data) { |
toFullScreen:全屏
1 | function toFullScreen() { |
exitFullscreen:退出全屏
1 | function exitFullscreen() { |
requestAnimationFrame:window 动画
1 | window.requestAnimationFrame = |
max:求取数组中非 NaN 数据中的最大值
1 | function max(arr) { |
min:求取数组中非 NaN 数据中的最小值
1 | function min(arr) { |
random:返回一个 lower - upper 之间的随机数
1 | function random(lower, upper) { |
performance.timing:利用 performance.timing 进行性能分析
1 | window.onload = function () { |
禁止某些键盘事件
1 | document.addEventListener('keydown', function (event) { |
禁止右键、选择、复制
1 | ;['contextmenu', 'selectstart', 'copy'].forEach(function (ev) { |