// 判断数据类型的几种常见方法
// 1. 使用 typeof 操作符
// typeof 可以用于判断基本类型(如 number, string, boolean, undefined, function)
let num = 42;
console.log(typeof num); // "number"
let str = "hello";
console.log(typeof str); // "string"
let bool = true;
console.log(typeof bool); // "boolean"
let und = undefined;
console.log(typeof und); // "undefined"
let fn = function() {};
console.log(typeof fn); // "function"
// 注意:typeof null 返回 "object",这是一个历史遗留问题
let nul = null;
console.log(typeof nul); // "object"
// 2. 使用 instanceof 操作符
// instanceof 用于判断对象是否是某个构造函数的实例
let arr = [1, 2, 3];
console.log(arr instanceof Array); // true
let obj = { a: 1 };
console.log(obj instanceof Object); // true
// 3. 使用 Object.prototype.toString.call()
// 这种方法可以准确判断所有内置对象的类型
console.log(Object.prototype.toString.call(num)); // "[object Number]"
console.log(Object.prototype.toString.call(str)); // "[object String]"
console.log(Object.prototype.toString.call(bool)); // "[object Boolean]"
console.log(Object.prototype.toString.call(und)); // "[object Undefined]"
console.log(Object.prototype.toString.call(nul)); // "[object Null]"
console.log(Object.prototype.toString.call(fn)); // "[object Function]"
console.log(Object.prototype.toString.call(arr)); // "[object Array]"
console.log(Object.prototype.toString.call(obj)); // "[object Object]"
// 4. 自定义函数来判断类型
function getType(value) {
return Object.prototype.toString.call(value).slice(8, -1);
}
console.log(getType(num)); // "Number"
console.log(getType(str)); // "String"
console.log(getType(bool)); // "Boolean"
console.log(getType(und)); // "Undefined"
console.log(getType(nul)); // "Null"
console.log(getType(fn)); // "Function"
console.log(getType(arr)); // "Array"
console.log(getType(obj)); // "Object"
上一篇:js 判断中文
下一篇:js 数组添加到第一个
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站