js检测数据或变量的类型

数据类型检测获取你认为并不常用,但是js的数据类型检测相反是可以常用的,大脑储存的东西越多你的思路就越宽广,加油吧,骚年。 1.首先我们先声明一些基础类型的变量并赋值: let a = [1,...

数据类型检测获取你认为并不常用,但是js的数据类型检测相反是可以常用的,大脑储存的东西越多你的思路就越宽广,加油吧,骚年。

1.首先我们先声明一些基础类型的变量并赋值:

			let a = [1,2,3];
			let b = {};
			let c = true;
			let d = 0;
			let e = '0';
			let f = null;
			let g = undefined;
			let h = function(){}
			let i = Symbol()


2.使用typeof检测数据类型:

			console.log('-----------typeof判断类型------------')
			console.log('数组',typeof(a))
			console.log('对象',typeof(b))
			console.log('布尔',typeof(c))
			console.log('数值',typeof(d))
			console.log('字符串',typeof(e))
			console.log('null',typeof(f))
			console.log('undefined',typeof(g))
			console.log('函数',typeof(h))
			console.log('唯一类型',typeof(i))


看下输出:

attachments-2021-06-GLDKfgCY60c9a310227cb.png

我们发现数组与null返回的类型并不对,但其他没有问题,可以简单实用


3.使用toString检测数据类型(完美)

			console.log('-----------toString判断类型------------')
			console.log('数组',toString.call(a))
			console.log('对象',toString.call(b))
			console.log('布尔',toString.call(c))
			console.log('数值',toString.call(d))
			console.log('字符串',toString.call(e))
			console.log('null',toString.call(f))
			console.log('undefined',toString.call(g))
			console.log('函数',toString.call(h))
			console.log('唯一类型',toString.call(i))

查看返回结果:

attachments-2021-06-0eVsvcCL60c9a3d254b99.png

看着像数组呢,直接忽视第一个object,返回的也并不是一个数组,而是一个字符串;


4.类型拿到了,如何判断?

			// 那如何判断变量e是不是字符串
			if(toString.call(e).indexOf('String')>=0){
				console.log('条件成立,e是字符串')
			}


ok,到此结束!!!!


完整demo:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			let a = [1,2,3];
			let b = {};
			let c = true;
			let d = 0;
			let e = '0';
			let f = null;
			let g = undefined;
			let h = function(){}
			let i = Symbol()
			
			console.log('-----------typeof判断类型------------')
			console.log('数组',typeof(a))
			console.log('对象',typeof(b))
			console.log('布尔',typeof(c))
			console.log('数值',typeof(d))
			console.log('字符串',typeof(e))
			console.log('null',typeof(f))
			console.log('undefined',typeof(g))
			console.log('函数',typeof(h))
			console.log('唯一类型',typeof(i))
			
			console.log('-----------toString判断类型------------')
			console.log('数组',toString.call(a))
			console.log('对象',toString.call(b))
			console.log('布尔',toString.call(c))
			console.log('数值',toString.call(d))
			console.log('字符串',toString.call(e))
			console.log('null',toString.call(f))
			console.log('undefined',toString.call(g))
			console.log('函数',toString.call(h))
			console.log('唯一类型',toString.call(i))
			
			console.log('------看下toString返回什么类型-------')
			let toStringType = toString.call(a);
			console.log(toString.call(toStringType))//返回的为字符串
			
			// 那如何判断变量e是不是字符串
			if(toString.call(e).indexOf('String')>=0){
				console.log('条件成立,e是字符串')
			}
		</script>
	</body>
</html>

效果:

attachments-2021-06-KEdQSFm360c9a7fe4c481.png

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

651 篇文章

作家榜 »

  1. admin 651 文章
  2. 粪斗 185 文章
  3. 王凯 92 文章
  4. 廖雪 78 文章
  5. 牟雪峰 12 文章
  6. 李沁雪 9 文章
  7. 全易 2 文章
  8. Stevengring 0 文章