Underscore.js 经常使用类型判断以及一些有用的工具方法

1. 经常使用类型判断以及一些有用的工具方法

   underscore.js 中一些 JavaScript 经常使用类型检查方法,以及一些工具类的判断方法。javascript

   首先咱们先来谈一谈数组类型的判断。先贴出我本身封装好的函数。
java

  

  第一: 在ES5里面有一个检测数组的函数,就是Array.isArray(); (毕竟原生的才是最屌的)可是若是老版本的浏览器不支持ES5呢。那怎么办 因此咱们这个时候要想其余的办法。
web

   来回忆下 instanceof 运算符的使用方式。a instanceof b,若是返回 true,表示 a 是 b 的一个实例。那么若是 a instanceof Array 返回 true,是否是就说明 a 是 数组类型呢?跟 instanceof 师出同门的还有 constructor,是否一样能够判断呢?数组

由于每一个 frame 都有一套本身的执行环境,跨 frame 实例化的对象彼此不共享原型链。若是打印 a instanceof window.frames[0].Array,那么结果就是 true 了。
因此正确的是使用Object.prototype.toString.call
  var a = [0, 1, 2];   console.log(a instanceof Array); // true 就是数组?   console.log(a.constructor === Array); // true 数组?
(obj) === "[object Array]";有原生的ES5是最好 因此就使用第一个。

2. 对象的判断

  underscore把function和obj都当成对象,可是要除去null。 根据typeof来返回复杂类型。浏览器

  

  

3. 全部的类型判断

  再看 'Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error' 这些类型的判断,其实均可以用 Object.prototype.toString.call 来判断,因此写在了一块儿: 可是 IE9下面没法判断Arguments。app

  

4. 工具类判断方法

  

1. 图片格式

1. 图片格式

今天就跟你们聊一聊 underscore.js 中一些 JavaScript 经常使用类型检查方法,以及一些工具类的判断方法。函数

相关文章
相关标签/搜索