1. 判断是不是数组
function isArr(a) {
return Array.isArray ? Array.isArray(a) : Object.prototype.toString.call(a) === '[object Array]';
}
console.log(isArr([1,2])); // true
2. 判断是不是对象,排除null
function isObj(a) {
var type = typeof a;
return type === 'function' || type === 'object' && !!a;
}
console.log(isObj(null)); // false
3. 判断是不是Dom元素
这里只需要判断两点,首先不能为空,然后nodeType==1
function isDom(a) {
return !!(a && a.nodeType == 1);
}
4. 用void 0 来代替undefined
underscore中所有用到undefined的地方都用void 0 来代替了,因为undefined并不是一个保留字,他只是全局对象的一个属性,在低版本的浏览器当中可以被修改赋值
网友评论