javasript develop utils
npm install heibao-utils
npm run test
`
$3
- 安装
`
cnpm install heibao-utils --save-dev;
`
- 引用
`
import Utils from "heibao-utils";
Utils.xxx
`
备注:由于该包没有添加类型定义文件,并且是commonjs的方式,所以使用typescript的话,请使用require的方式进行引入
$3
- type(obj)
判断js对象类型,比如:object,array,string,function等
`js
let type = Utils.type([]);
console.log(type);//返回 array
let type = Utils.type("hello");
console.log(type);//返回 string
......
`
- isNull(obj)
判断对象是否为null,返回boolean值
参数说明:
`
obj:要判断的值
`
- isPlainObject(obj)
判断值是否为字面量对象,即 {},返回boolean值
参数说明:
`
obj:要判断的值
`
- isEmptyObject(obj)
判断是否是空对象,比如:[],{}等,返回boolean值
参数说明:
`
obj:要判断的值
`
- isFunction(obj)
判断是否为function,返回boolean值
参数说明:
`
obj:要判断的值
`
- isNumeric(obj)
判断是否为数字,返回boolean值
参数说明:
`
obj:要判断的值
`
- isArray(obj)
判断是否为数组,返回boolean值
参数说明:
`
obj:要判断的值
`
- isBoolean(obj)
判断是否为boolen,返回boolean值
参数说明:
`
obj:要判断的值
`
- isDate(obj)
判断是否为Date,返回boolean值
参数说明:
`
obj:要判断的值
`
- contain(ele,array,i)
判断元素是否包含在数组中,存在反正元素在数组中的索引,不存在返回-1
参数说明:
`
ele:要比较的元素
array:比较的数组
i:比较arrary中哪个位置
比如:
let arr=[1,2,3];
console.log(Utils.contain(2,arr));//返回 1
console.log(Utils.contain(2,arr,1));//返回 1
`
- merge(first,second)
数组合并,返回合并后的新数组
参数说明:
`
first:目标数组,即被合并的数组
second:要合并的数组
`
- trim(text)
去除字符串两端的空白,返回去除空白后的字符串
参数说明:
`
text:要出去空白的字符串
`
- makeArray(arr,results)
合并数组或者对象,返回合并后的数组或者类数组对象
参数说明:
`
arr:数组或者对象
results:数组或者对象
`
- unique(arr)
数组去重,返回去重后的数组
参数说明:
`
返回去重后的数组
`
- findElementIndex(arr.element)
查找数组中的元素,返回查找到的元素的索引
参数说明:
`
arr:被查询的数组
element:要查询的元素
`
- removeElement(array, element)
移除数组的元素,返回移除元素后的数组
参数说明:
`
array:要移除元素的数组
element:要移除的元素
`
- copyDate(date)
复制一个时间对象,返回复制后的时间对象Date
参数说明:
`
date:被复制的Date对象
`
- createCorrectDate(strFormatDate, dateArr)
创建Date对象,返回创建成功的Date对象
参数说明:
`
strFormatDate:时间格式,支持的时间格式有如下几种:
2017-11-19 12:20:30:333
2017/11/19 12:20:30:333
2017.11.19 12:20:30:333
2017-11-19
2017/11/19
2017.11.19
dateArr:设置的时间格式数组,支持设置时、分、秒
[23,59,59]
`
- dateFormat(fmt, objDate)
Date对象转换成时间字符串格式,返回转换后的时间字符串
参数说明:
`
fmt:格式化标识符
yyyy-MM-dd hh:mm:ss = 2017-01-01 21:32:32
yyyy-MM-dd = 2017-01-01 21:32:32
yyyy年MM月dd日 = 2017年11月21日
yyyy-MM = 2017-01
yyyy-M = 2017-1
MM-dd = 01-01
M-d = 1-1
hh时 = 23时
hh = 23
....
根据 y(年)、M(月)、d(日)、h(时)、m(分)、s(秒)、S(毫秒)、q(季度)这几个占位符的组合,可以返回任 何格式的Date对象的值
objDate:Date时间对象
`
- isLeapYear(objDate)
判断是否是闰年,返回boolean值
参数说明:
`
objDate:Date时间对象
`
- diffDate(interval, beginDate, endDate)
比较两个时间的间隔,返回时间间隔
参数说明:
`
interval:时间间隔占位符
s:返回两个日期相差的秒数
n:返回两个日期相差的分钟数
h:返回两个日期相差的小时数
d:返回两个日期相差的天数
w:返回两个日期相差的周数
m:返回连个日期相差的月数
y:返回连个日期相差的年数
beginDate:开始时间,可以是Date对象,也可以是时间字符串
endDate:结束时间,可以是Date对象,也可以是时间字符串
`
- clone()
对象拷贝
- getQuery(queryKey, target, pattern)
查询querystring参数,返回查询到的值
参数说明:
`
queryKey:要查询的key
target:从哪个目标字符串查询,可选参数,默认是window.location
pattern:匹配的截取正则,可选参数
一般前端只要传入第一个参数,就可以获取当前页面window.location的querystring的值
`
- getOffset(element)
获取元素的offsetTop跟offsetLeft
参数说明:
`
element:dom元素
`
- getScrollOffsets(w)
获取元素的滚动对象scrollX、scrollY
参数说明:
`
w:dom对象,默认为window
我们一般也就是获取整个页面的scrollX、scrollY
`
- getViewPortSize(w)
获取页面可见视口,返回width、height
参数说明:
`
w:dom对象,可选参数,默认window
我们一般都是获取整个页面的可见视口
``