-
typeof
检测基本数据类型
typeof(null) object
typeof(undefined) undefined
-
instanceof
instanceof 检测的是原型
instanceof 只能用来判断两个对象是否属于实例关系, 而不能判断一个对象实例具体属于哪种类型
var str="123" var arr=[1,2] console.log(str instanceof String) 无效 console.log(arr instanceof Array) true console.log(arr instanceof Object) true
-
construct
var str="123" console.log(str.constructor==String)//true var arr=[123] console.log(arr.constructor==Object)//false function Fun(){ } Fun.prototype={a:1} var f=new Fun() console.log(f) console.log(Fun) console.log(f.constructor==Fun)//true
undfinded和null无效
自定义的构造函数的原型改了之后,函数找不到原型
-
原型
Object.prototype.toString.call()
<script> //var str=Object.prototype.toString.call(undefined) var str=Object.prototype.toString.call(null) var start=str.indexOf(" ")+1 var end=str.indexOf("]") console.log("数据类型是"+str.substring(start,end)) </script>
js数据类型的判断
最新推荐文章于 2024-09-17 21:49:02 发布