1.0.0 • Published 6 years ago

adam-hu v1.0.0

Weekly downloads
5
License
ISC
Repository
-
Last release
6 years ago

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
1.0.0

6 years ago