Vue前端⾯试题总结(⼆)数据类型判断详解
数据类型判断
我们常见的数据类型有两种
基本数据类型 和 引⽤数据类型
基本数据类型
1. Number
2. String
3. Null
4. Boolean
5. undefined
6. Symbol(ES6新增)
引⽤数据类型
1.Object
2.Array
3.Date
4.Function
typeof array5.Error
6.RegExp
7.Math
8.Number
9.String
10.Boolean
11.Globle。
通常判断数据的⽅法有四种
typeof
instanceof
constructor
String.call()
我们先来说
1、typeof
可以判断基本数据类型,它返回的数据类型的字符串
(返回结果只能包括 number,boolean,string,function,object,undefined)
但不能判断null、array,可以使⽤typeof判断变量是否存在(如if(typeof a!=“undefined”){…});但是对于⼀些创建的对象,它们都会返回’object’
简单的例⼦
console.log(typeof a);//'undefined'
console.log(typeof(true));//'boolean'
console.log(typeof'123');//'string'
2、Instanceof
判断引⽤数据类型的 ⽤来测试⼀个对象在原型链中是否存在⼀个构造函数prototype 属性,但它不能检测null 和 undefined (Instanceof 不是⼀个函数,是⼀个操作符)
⽤来判断A是否为B的实例,A instanceof B, 返回 boolean 值。
instanceof 检测的是原型
代码实现:
function Student(){
}
var a =new Student()
console.log(a instanceof Student)//返回true
3、constructor
除了undefined和null之外,其他类型都可以通过constructor属性来判断类型,似乎完全可以应对基本数据类型和引⽤数据类型, 但如果声明了⼀个构造函数,并且把他的原型指向改变了,这种情况下,constructor 就不⾏。
代码实现:
var str =""
console.structor)//输出结果String
4、String.call()
代码实现
var date =newDate();
String.call(date);// "[object Date]"
String.call(true);// "[object Boolean]"
判断某个对象值属于哪种内置类型。不能准确判断⼀个实例是否属于某种类型
实现:返回对象的类型字符串,可以⽤来判断⼀个值的类型
原理:由于实例对象可能会⾃定义toString⽅法,覆盖掉String⽅法,所以为了得到类型字符串,最好直接使⽤String⽅法。通过函数的call⽅法,可以在任意值上调⽤这个⽅法,帮助我们判断这个值的类型。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。