js判断一个变量是否是对象
时间: 2023-12-19 22:04:10 浏览: 85
Javascript中判断变量是数组还是对象(array还是object)
要判断一个变量是否是对象,你可以使用JavaScript的`typeof`操作符。它返回一个字符串,表示给定变量的数据类型。如果变量的类型是对象,`typeof`操作符将返回`"object"`。
以下是一个示例代码:
```javascript
var obj = {}; // 创建一个对象
var arr = []; // 创建一个数组
console.log(typeof obj); // 输出 "object"
console.log(typeof arr); // 输出 "object"
var num = 5;
console.log(typeof num); // 输出 "number"
var str = "Hello";
console.log(typeof str); // 输出 "string"
```
请注意,虽然JavaScript中的数组也属于对象类型,但它们将返回`"object"`而不是`"array"`。所以使用`typeof`来判断一个变量是否是数组时并不准确。
如果你想更精确地判断一个变量是否是对象,可以使用`Object.prototype.toString.call()`方法,它返回一个以`"[object 类型]"`形式表示的字符串。对于对象类型,这个字符串的类型部分将是准确的。
以下是使用`Object.prototype.toString.call()`方法判断一个变量是否是对象的示例代码:
```javascript
var obj = {};
var arr = [];
console.log(Object.prototype.toString.call(obj)); // 输出 "[object Object]"
console.log(Object.prototype.toString.call(arr)); // 输出 "[object Array]"
var num = 5;
console.log(Object.prototype.toString.call(num)); // 输出 "[object Number]"
var str = "Hello";
console.log(Object.prototype.toString.call(str)); // 输出 "[object String]"
```
通过这种方式,你可以更准确地判断一个变量是否是对象。
阅读全文