adam-hu
v1.0.0
Published
造轮子一直都是前端开发中绕不过去的槛,作为初学者倒是不用想太多,自己私底下一定要造,你造轮子写的每一行代码都会化成你的底蕴。
Downloads
4
Readme
adamjs
- 自己写的封装一些常用函数的包
- gitlab地址:gitlab
介绍
$ npm install adamjs
import adam from adamjs
函数说明
query(name, querystring)
- 获取指定的 querystring 中指定 name 的 value
adam.query('name', '?name=js') //return 'js'
serialize(data)
- 序列化对象,就是把对象转成 url 字符串
adam.serialize({hello: 'js'}) //return '?hello=js'
$(selector)
- 根据选择器查找 DOM
adam.$(selector) //return {DOM|undefined}
removeNode(node)
- 删除 DOM 节点
adam.removeNode(node)
insertAfter(node, target)
- 在 target 节点之后插入 node 节点
adam.insertAfter(node, target)
addClass(node, className)
- 添加类名
adam.addClass(node, className)
removeClass(node, className)
- 删除类名
adam.removeClass(node, className)
getAbsoluteUrl(url)
- 获取绝对路径
adam.getAbsoluteUrl('/hhh') //return 'https://github.com/hhh'
debounce(callback, time)
- 防抖动函数
- example
test('test true', () => {
const debounce = adam.debounce
jest.useFakeTimers() // 声明语句,启用jest伪装计时器函数,因为使用了advanceTimersByTime()
const callback = jest.fn() // 声明语句,使用jest伪装函数
const createDebounce = debounce(callback, 300)
expect(callback).not.toBeCalled() // callback还未被调用
for (let i = 0; i < 11; i++) { // 循环执行createDebounce 11次,每次都在经过299ms时setTimeout被刷新
createDebounce()
jest.advanceTimersByTime(299) // 过了299ms
}
expect(callback).not.toBeCalled() // callback还未被调用
jest.advanceTimersByTime(1) // 再过1ms
expect(callback).toBeCalled() // callback被调用
expect(callback).toHaveBeenCalledTimes(1) // callback只被调用1次
})
removeItemByIndex(index, arr)
- 根据所以移出数组的某一项
adam.removeItemByIndex(index, arr) // return arr