JS基本类型 & 遍历
基本功不实,于此小记:
type VS toString
typeof
typeof 1; // "number" |
Object.prototype.toString
Object.prototype.toString.call(1); // "[object Number]" |
由此可见,Object.prototype.toString
的可靠性要高于typeof
兼容性
JQuery.type
在JQuery中,对类型的判断主要基于type
方法:
function type(obj) { |
Function
如,据史书记载,typeof
在判断Function
时,存在兼容性问题:
- FireFox:在HTML的
<object>
元素上使用typeof的话,会返回function- IE:如果对其他窗口(比如iframe)的不存在的对象进行类型判断,该类型会返回unknown
- Safari:DOM的NodeList是一个
function
Array
毫无疑问,Array.isArray()是最好用的方法,
遍历
鉴于总是忘记用法,特总结于此:
对于一般的遍历,JS已提供具有可读性的API,如下:
- some:
IE9+
boolean
:某一项满足,返回true
,不继续执行 - every:
IE9+
boolean
:某一项不满足,返回false
, 不继续执行,所有项目满足,返回true
- forEach:
IE9+
boolean
:执行所有项,无返回值,undefined
- map:
IE9+
object
:返回index数组,并标记是否满足条件 - filter:
IE not support
object
:返回满足条件的项
const numArr = [1, 2, 3, 4] |