js判断类型
时间: 2023-09-20 12:11:43 浏览: 40
在JavaScript中,可以使用typeof运算符来判断一个变量的类型。例如:
```javascript
typeof "hello" // 返回 "string"
typeof 42 // 返回 "number"
typeof true // 返回 "boolean"
typeof undefined // 返回 "undefined"
typeof null // 返回 "object" (这是一个历史遗留问题)
typeof [] // 返回 "object"
typeof {} // 返回 "object"
typeof function(){} // 返回 "function"
```
需要注意的是,typeof运算符不能准确地区分null和object类型的变量,因为null被认为是一个空对象指针。此外,typeof运算符也不能判断一个变量是不是数组类型,因为数组在JavaScript中也被认为是对象类型。
相关问题
js判断类型的四种方法
1. typeof:可以判断出基本数据类型和函数类型,但不能区分数组、对象和null,因为它们都返回object。
2. instanceof:用于判断对象的具体类型,比如数组类型、函数类型等,但不能判断基本数据类型。
3. Object.prototype.toString.call():可以判断出所有数据类型,包括基本数据类型、函数类型、数组类型、对象类型、null和undefined。
4. constructor:可以判断出对象类型、函数类型,但不能判断基本数据类型和null、undefined。
写一个js判断类型的函数
可以定义一个函数 `getType`,通过 `typeof` 操作符来判断传入参数的类型,代码如下:
```js
function getType(value) {
const type = typeof value;
switch (type) {
case 'number':
return Number.isNaN(value) ? 'nan' : 'number';
case 'object':
return Array.isArray(value) ? 'array' : 'object';
default:
return type;
}
}
```
其中,针对数字类型还需要判断是否为 `NaN`。此外,为了区分对象和数组类型,使用 `Array.isArray` 方法进行判断。