判断javascript的数据类型

1. typeof

typeof 操作符返回变量或表达式的类型。

语法: typeof arr;

这种数据类型检测只对简单数据类型适用,对数组和对象不实用.

2. instanceof

instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上

语法: obj instanceof Object;

这种方式对检测对象的实例比较好用,但是还是区分不了数组和对象.

3. constructor

constructor 属性返回对创建此对象的数组函数的引用。

语法: object.constructor

'str'.constructor === String

4. Object.prototype.toString.apply()或者Object.prototype.toString.call()

使用toString() 方法返回一个表示该对象的字符串,每个对象都有一个 toString() 方法,toString() 方法被每个 Object 对象继承。为了每个对象都能通过 Object.prototype.toString() 来检测,需要以 Function.prototype.call() 或者 Function.prototype.apply() 的形式来调用,传递要检查的对象作为第一个参数,称为 thisArg

语法: Object.prototype.toString.apply(thisArg) 或者 Object.prototype.toString.call(var)

let arr = [];
Object.prototype.toString.apply(arr); // "[object Array]"
Object.prototype.toString.call(arr); // "[object Array]"
发布了49 篇原创文章 · 获赞 24 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/YeShenLiaoSuiFeng/article/details/103585621
今日推荐