JS中数据类型的判断方式
1. typeof(操作数):将操作数的类型返回,以字符串的形式表示。
- 无法详细区分Object的详细类型(Array/Date/Null)
2. instanceof 判断A是否为B的实例
- 原理:监测左侧的__proto__原型链上是否存在右侧的prototype原型
3. constructor:表示原型对象与构造函数间的关联关系。可以得知某个实例对象到底是由哪个构造函数产生的。
- 可用于判断Object的详细类型。
- 跨框架无效,因为prototype属性在不同框架间无法共享。
- 将公用的方法或对象放置在原型对象上,避免每次创建对象时对相应的方法或对象进行重复添加。
- 不可以判断Null和Undefined,因为其无constructor。
4. Object.prototype.toString.call(A)
- Object的原型方法,封装了一个准确判断数据类型的函数。
- 可解决跨框架问题。
展开
评论