下面是详细讲解“JavaScript 判断数据类型的4种方法”的完整攻略。
方法一:typeof
typeof 运算符返回一个值的数据类型(字符串形式),包括:"undefined"、"boolean"、"number"、"string"、"object"和"function"。
typeof 123; // "number"
typeof "hello"; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object",这是因为null被认为是一个特殊的空对象引用
typeof []; // "object"
typeof {}; // "object"
typeof function(){}; // "function"
方法二:instanceof
instanceof 运算符用于测试对象在其原型链中是否存在一个构造函数。instanceof 操作符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。
var arr = [];
arr instanceof Array; // true
var obj = {};
obj instanceof Object; //true
方法三:Object.prototype.toString.call()
在 javascript 中,可以通过 Object.prototype.toString 方法来判断数据类型,因为该方法能够返回以 "[object className]" 形式表示的数据类型。
Object.prototype.toString.call("hello world"); // "[object String]"
Object.prototype.toString.call(233); // "[object Number]"
Object.prototype.toString.call(false); // "[object Boolean]"
Object.prototype.toString.call({}); // "[object Object]"
Object.prototype.toString.call(function(){}); // "[object Function]"
方法四:constructor
每个实例都有一个 constructor 属性,并指向创建这个实例的构造函数。
"hello".constructor == String; // true
(233).constructor == Number; // true
(false).constructor == Boolean; // true
({}).constructor == Object; // true
[].constructor == Array; // true
上述就是 JavaScript 判断数据类型的4种方法的完整攻略,以上四种方法都有各自的典型场景和特点,具体使用时根据需求选择对应的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 判断数据类型的4种方法 - Python技术站