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 supportobject:返回满足条件的项
const numArr = [1, 2, 3, 4] |