设计图软件重庆seo整站优化
判断数据类型封装方法:
1)type返回字符串类型
2)is开头返回Boolean类型

测试实例:

JavaScript 判断数据类型的方式共有四种
- typeof
- instanceof
- constructor
- Object.prototype.toString

typeof
typeof 操作符返回一个字符串,表示操作值的类型
利用 typeof 判断数据类型的语法是 typeof target。 示例如下:

instanceof
instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个 实例对象 的原型链上
利用 instanceof 判断数据类型的语法是 target instanceof constructor。 示例如下:

用于判断操作值是否是指定构造函数的实例。
缺点:
- 不能判断基本数据类型,因为基本数据类型并不是构造函数的实例,没有原型链。
- 因为原型链的终点是
Object.protype => null,所以引用数据类型的原型链上都会存在Object.protype,所以引用数据类型instanceof Object的时候都返回true。 - 原型链可以被修改,所以结果值不一定准确。
constructor
利用 constructor 判断数据类型的语法是 target.constructor === constructor。 示例如下:

用于判断操作值是否是指定构造函数的实例,可以判断 null 和 undefined除外的所有数据类型,之所以 null 和 undefined 不可以,是因为他们作为 JavaScript 运行环境创建时就存在的基本数据类型,不存在 constructor 属性
基本数据类型为什么会有 constructor 属性呢? 是因为基本数据类型获取 constructor 属性的时候,JavaScript 自动将基本数据类型的值转为包装对象实例,并在使用后立刻销毁实例。
缺点:constructor 属性可以被修改,所以结果值不一定准确。
Object.prototype.toString
返回对象的类型字符串.
利用 Object.prototype.toString 判断数据类型的语法是 Object.prototype.toString.call(target)。 示例如下:

可以准确判断所有数据类型。
总结

