5.26 isObject
5.26.1 语法
_.isObject(object)
5.26.2 说明
如果object是一个对象,返回true。需要注意的是JavaScript数组和函数是对象,字符串和数字不是。
5.26.3 对象、数组、函数返回true
_.isObject({});
_.isObject(alert);
_.isObject([]);
_.isObject(new Number(1));
5.26.4 不是对象的情况返回false
_.isObject(1);
_.isObject('1');
_.isObject(null);
_.isObject(undefined);
5.26.5 用typeof无法区分object
typeof []; //=> 'object'
typeof {}; //=> 'object'
typeof function(){}; //=> 'function'
typeof null; // 'object'
5.26.6 源码解读
_.isObject = function(obj) {
var type = typeof obj;
//如果是函数就认为是object
//如果object并且转为布尔值为true才为object,排除了null的情况。
return type === 'function' || type === 'object' && !!obj;
};