// 判断是否为对象的几种常见方法
// 方法一:使用 typeof 和 null 检查
function isObject1(obj) {
return obj !== null && typeof obj === 'object';
}
// 解释:typeof 对于对象(包括数组和 null)返回 'object',所以我们需要额外检查 null。
// 方法二:使用 Object.prototype.toString.call
function isObject2(obj) {
return Object.prototype.toString.call(obj) === '[object Object]';
}
// 解释:Object.prototype.toString.call 可以准确判断对象的类型,避免数组等其他类型被误判为对象。
// 方法三:结合 Array.isArray 排除数组
function isObject3(obj) {
return typeof obj === 'object' && obj !== null && !Array.isArray(obj);
}
// 解释:此方法排除了 null 和数组,确保只返回纯对象。
// 示例用法:
console.log(isObject1({})); // true
console.log(isObject1([])); // true (数组也是对象)
console.log(isObject1(null)); // false
console.log(isObject2({})); // true
console.log(isObject2([])); // false (数组不是纯对象)
console.log(isObject3({})); // true
console.log(isObject3([])); // false (数组被排除)
console.log(isObject3(null)); // false
上一篇:js 判断是否是对象
下一篇:js 判断是对象
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站