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

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

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

   首先我们先来谈一谈数组类型的判断。先贴出我自己封装好的函数。

  

  第一: 在ES5里面有一个检测数组的函数,就是Array.isArray(); (毕竟原生的才是最屌的)但是如果老版本的浏览器不支持ES5呢。那怎么办 所以我们这个时候要想其他的办法。

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

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

2. 对象的判断

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

  

  

3. 所有的类型判断

  再看 ‘Arguments‘, ‘Function‘, ‘String‘, ‘Number‘, ‘Date‘, ‘RegExp‘, ‘Error‘ 这些类型的判断,其实都可以用 Object.prototype.toString.call 来判断,所以写在了一起: 但是 IE9下面无法判断Arguments。

  

4. 工具类判断方法

  

1. 图片格式

1. 图片格式

今天就跟大家聊一聊 underscore.js 中一些 JavaScript 常用类型检查方法,以及一些工具类的判断方法。

时间: 2024-08-24 20:01:29

Underscore.js 常用类型判断以及一些有用的工具方法的相关文章

PHP常用类型判断函数

1.gettype():获取变量类型 2.is_array():判断变量类型是否为数组类型 3.is_double():判断变量类型是否为倍浮点类型 4.is_float():判断变量类型是否为浮点类型 5.is_int():判断变量类型是否为整数类型 6.is_integer():判断变量类型是否为长整数类型 7.is_long():判断变量类型是否为长整数类型 8.is_object():判断变量类型是否为对象类型 9.is_real(): 判断变量类型是否为实数类型 10.is_strin

js数组类型判断与数据类型判断回顾

前两天参加了百度前端的电话面试,其中问到了数组类型的判断问题,虽然以前看过这方面的内容,但时间久了有点模糊,答得不怎么好,现在对相关内容做个回顾和总结. 先来回答这个问题:如何判断一个对象是数组? 判断一个对象是否是数组方法有多种: 一.Array.isArray()函数 在ECMAScript5中可以通过Array.isArray()来做这件事: Array.isArray({}); //false Array.isArray([]); //true 二.instanceof instance

JS常用类型事件

常用的类型:1.数学:Math.ceil():天花板数Math.floor():地板数Math.round():四舍五入取整数Math.random():生成0-1之间的随机数 2.日期时间:var s = new Date();var s = new Date(1999,7,23);函数:getFullYear():getMonth():getDate():获取日getHours()getMinutes()getSeconds()getDay():获取星期setFullYear(year,mo

JS类型判断typeof PK {}.toString.call(obj)

参考链接:https://www.talkingcoder.com/article/6333557442705696719 先看typeof <!doctype html> <html lang="en">     <head>         <meta charset="UTF-8" />         <script type="text/javascript" src="&

underscore.js源码阅读(2)

??今天看了下underscore中的restArgs函数和createAssigner函数 123456789101112131415161718192021222324252627 //(http://ariya.ofilabs.com/2013/03/es6-and-rest-parameter.html)// This accumulates the arguments passed into an array, after a given index.// 和ES6中的rest特性相似

js中浏览器类型判断

在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌却标准不一,因此时常需要根据不同的浏览器,甚至相同浏览器不同版本做不同的操作,因此,知晓浏览器的判断方法,还是很重要的.下面列举一下常用的判断方法:1.判断浏览器是否为IE        document.all ? 'IE' : 'others':在IE下document.all值为1,而其他浏览器下的值为0:        nav

《饿了么大前端 Node.js 进阶教程》—Javascript 基础问题—类型判断

lodash的类型判断源码 <饿了么大前端 Node.js 进阶教程>地址:https://github.com/ElemeFE/node-interview  lodash介绍:lodash是目前很流行的JS工具库,它封装了许多JS常用到的工具方法,在阅读源码时,你会发现代码冗长:官网说这是性能优化,不管你信不信,反正我信了! (1)null 类型 function isNull(value) { return value === null; } (2)number类型 function i

js类型判断及鸭式辨型

目录 instanceof constructor 构造函数名字 鸭式辨型 三种检测对象的类方式: instanceof.constructor .构造函数名字 用法如下: 1)instanceof console.log([1,2,3] instanceof Array); true console.log([1,2,3] instanceof Object); true 尽管构造函数是原型的唯一标识,instanceof运算符的右操作数是构造函数,instanceof实际计算过程中检测的是对

图解js中常用的判断浏览器窗体、用户屏幕可视区域大小位置的方法

有时我们需要获得浏览器窗口或屏幕的大小.窗口下拉框下拉的距离等数据,对应这些需求,js中提供了不少解决方法,只是数量稍多容易混淆它们各自的意义,下面咱们用图例来解释下12个常见对象属性的作用. 其中有6个常用的浏览器窗体属性(由于offsetWidth/Height在不同浏览器下表现有出入,故不在本章讨论): document.documentElement.clientWidth document.documentElement.clientHeight document.documentEl