如何判断JavaScript数据具体类型

前端开发 作者: 2024-08-25 22:10:01
昨晚做了阿里的题目,让我写一个函数,可以判断数据的具体类型。其实题目很简单的。。。但是真的是自己不太注意吧,写的很糟糕啊。 然后今天就自己写了一个,然后又到晚上搜了下,看看别人的写法,结果发现自己有点
var a = "iamstring.";
var b = 222var c= [1,2,3];
var e = function(){alert(111);};
var f = function(){this.name="22";};

alert(typeof a)   ------------> string
alert(typeof b)   ------------> number
alert(typeof c)   ------------> object//数组是引用类型的
alert(typeof f)   ------------> function
alert(typeof e)   ------------> function
var a = new String("iamstring.");
var b = new Number(222var c = new Array(222,4function(){console.log(111;};
var h = new Error("foo");

console.log(a instanceof String)    true  
console.log(b instanceof Number)    true  
console.log(c instanceof Array)     true  
console.log(e instanceof Function)  true   
console.log(f true  
console.log(h instanceof Error)     true  
var i="str",arr=[1],num=1;
console.log(a.constructor=== String)    true  
console.log(b.constructor=== Number)    true  
console.log(c.constructor=== Array)     true  
console.log(e.constructor=== Function)  true   
console.log(f.constructor=== Function)  true  
console.log(h.constructor===Error)      true 
console.log(i.constructor===String)     true 
console.log(num.constructor=== Number)    true  
console.log(arr.constructor=== Array)     true 
console.log(Object.prototype.toString.call(a) === ‘[object String]’) -------> true;

console.log(Object.prototype.toString.call(b) === ‘[object Number]’) -------> ;

console.log(Object.prototype.toString.call(c) === ‘[object Array]’) -------> ;

console.log(Object.prototype.toString.call(d) === ‘[object Date]’) -------> ;

console.log(Object.prototype.toString.call(e) === ‘[object Function]’) -------> ;

console.log(Object.prototype.toString.call(f) === ‘[object Function]’) -------> true;
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68625.html