📒关于其他类型数据借调数组/对象等方法

202 阅读1分钟

借调格式

    // 例如数组方法的借调
    Array.prototype.fn.call(target, params)
    // 或者直接写 []
    [].fn.call(target, params)
  • fn 需要调用数组的某个方法
  • target 需要借调方法的值
  • params fn 方法需要的参数

字符串借调数组方法

  • 借调map方法
    let a = [].map.call('hello world', v => v)
    // => ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]
  • 借调slice方法
    let a = [].slice.call('hello world')
    // => ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]

实际使用

  • 类数组转数组借调slice 方法

    let div = document.querySelectorAll('div')
    [].slice.call(div)
  • 判断数据类型的最佳方法,借调对象的toString() 方法

    ({}).toString.call('')
    // => "[object String]"
    ({}).toString.call(2)
    // => "[object Number]"
    ({}).toString.call([])
    // => "[object Array]"
    ({}).toString.call(null)
    // => "[object Null]"
    ({}).toString.call(undefined)
    // => "[object Undefined]"