MIP.util.fn

    方法

    • 参数:
      • {Function} fn 需要节流的函数
      • {number} delay 延迟时间,默认为 10ms
    • 返回值:

      {Function}

      节流后的函数

    • 用法:

      函数调用节流,控制函数在 delay 时间执行一次,调用多次会顺延,在响应一些 DOM 的事件时很有用,如 resize, touchmove 的回调

      1. let fn = MIP.util.fn.throttle(function callback(event) {
      2. console.log('resize triggered')
      3. })
      4. window.addEventListener('resize', fn)

    values [deprecated]

    • 返回值:

      {Array}

      返回该 Object 的所有 value

    • 用法:

      获取 Object 的所有 value,和 的效果一样

      1. // 返回值为 [1, 2]
      2. MIP.util.fn.values({a: 1, b: 2})
    • 参数:
      • {Object} obj
    • {boolean} 返回 object 是否为 plain object

    • 用法:

      判断 object 是否为 plain object

    extend [deprecated]

    • 参数:
      • {Object} target 目标 Object
      • {…Object} sources 源 Object
    • 返回值:

      {Object} 返回目标 Object

    • 用法:

      info

      请用 Object.assign 代替

      效果和 Object.assign 一样,把源 Object 的 key-value pairs 复制到目标 Object 中,优先级递增,如果 key 有重复,会进行覆盖

      此函数有副作用,目标 Object 会被修改

      1. // 返回值为 {a: 2, b: 2}
      2. MIP.util.fn.extend({a: 1}, {a: 2, b: 2})
    • 参数:
      • {Object} obj 目标 Object
      • {Array.\} 需要挑选的 keys
    • 用法:

      从目标 Object 中根据 keys 数组挑选出一些值,组成新的 Object,并返回,此函数没有副作用

      1. // 返回值为 {a: 1, c: 3}
      2. MIP.util.fn.pick(source, ['a', 'c'])

    isString

    • 参数:
      • {string} string
    • 返回值:

      {boolean} 是否是 string

    • 用法:

      判断 string 是否为字符串

    • 参数:
      • {Object} obj 目标 Object
      • {string} key 需要删除的属性
    • 用法:

      从目标 Object 删除某个属性

      1. let dest = {a: 1, b: 2}
      2. // dest 变为 {a: 1}
      3. MIP.util.fn.del(dest, 'b')

    hasTouch

    • 返回值

      {boolean} 返回是否支持 touch 事件

    • 用法:

      判断是否支持 touch 事件

      1. MIP.util.fn.hasTouch()

    函数实现移到