首页 » 网络编程 » JavaScript

js中基础的数据类型详解

JavaScript 2022-01-12

六种数据类

数据类型指的是字面类型 
在JS中有六种数据类型
String 	      字符串
Number	      数值
Boolean	      布尔值
Null	      空值
Undefined     未定义
Object	      对象
其中String、Number、Boolean、Null、Undefined 属于基本数据类型
Object 属于引用数据类型

1、String

/* 
			 String字符串
			 -在JS中字符串需要使用引号起来
			 -使用双引号或者单引号都可以,但是不要混用
			 -引号不能嵌套,双引号里面不能放双引号,单引号不能放单引号
				单引号里面可以放双引号
			 */
			var str="hello";
			str ='我说:"今天心情好!"';
			/* 在字符串中我们可以使用\作为转义符,
				当表示一些特殊符号时可以可以使用\进行转义
				\"	表示"
				\'	表示'
				\n	表示换行
				\t	制表符
				\\	表示				加上双引号表示字符串,不加双引号表示变量
			*/
			document.write(str)

2、Number

/* 
			 在JS中所有的数值都是NUmber类型,
			 包括整数和浮点数(小数)
			 JS中可以表示的数字最大值
			 -Number.MAX_VALUE
			 -1.7976931348623157e+308
			 超过最大值,则返回一个Infinity
				Infinity	正无穷
				-Infinity	负无穷
				使用typeof检查Infinity也会返回Number
				NAN 是一个特殊的数字,表示Not A Number
					使用typeof检查一个NaN也会返回number
			 */
			// 数字123
			var a=123;
			// 字符串123
			var b="123";
			/* 
			 可以使用一个运算符typeof
			 来检查一个变量的类型
			 语法:typeof变量
			 检查字符串时,会返回string
			 检查数值时,会返回number 
			 */
			// console.log(typeof b);
			/* a =Number.MAX_VALUE*Number.MAX_VALUE;
			a =Infinity
			console.log(typeof a); */
			a =-Number.MAX_VALUE*Number.MAX_VALUE;
			a ="abc"*"bcd"
			console.log(typeof a);
			var c=123456 + 789456;
			console.log(c)

3、Boolean

/* 
			Boolean布尔值 
			 布尔值只有两个,主要用来逻辑判断 true	表示真
			 false	表示假
			 */
			var bool=false;
			console.log(typeof bool);
			console.log(bool);

4、Null和undefined

/* 
			Null类型的值只有一个,就是null 
			 null这个值专门表示空的对象
			使用typeof检查一个null,会返回object
			undefined(未定义)类型只有一个,就undefind
			当声明一个变量,但是并不给变量赋值时,它的值就是undefind
			使用typeof检查一个undefind时也会返回undefind
			*/
			var a=null;
			console.log(typeof a);//返回object
			var b;
			console.log(b)
			console.log(typeof b)

5、强制类型转换

/* 
			 强制类型转换
			 -指将一个数据类型强制转换为其他的数据类型
			 -类型转换主要指,将其他的数据类型转换为
			 String number boolean
			 */
			/* 
				一:
				将其他的数据类型转换为String
				1:调用被转换数据类型的toString()方法
				2:该方法不会影响到原变量,它会将转换的结果返回
				3:但是注意:null和undefined这两个值没有toString
					如果调用他们的方法,会报错
				二:
				1:调用String()函数,并将被转换的数据作为参数传递给函数
				2:使用String()函数做强制类型转换时,
					对于Number和Boolean实际上就是调用的toString()方法
					但是对于null和undefined,就不会调用toString()方法
						它会将null,直接转换为"null"
						将undefined直接转换为"undefined"		
			 */
			var a=123;
			//调用a的string()方法
			//调用xxx的方法yyy()方法,就是xxx.yyy()
			a=a.toString();
			a=true;
			a=a.toString();
			a=null;
			//a=a.toString();//报错
			a=undefined;
			//a=a.toString();//报错
			a=123;
			//调用String()函数,来将a转换为字符串
			a=String(a);
			a=undefined;
			a=String(a)
			console.log(typeof a);
			console.log(a);

6、将其他的数据类型转换为Number

/*
			 将其他的数据类型转换为Number
				转换方式一:使用Number()函数
						字符串转---数字
						1:如果是纯数字的字符串,则直接将其转换为数字
						2:如果字符串有非数字的内容,则转换为NaN
						3:如果字符串时一个空串或者是一个全是空格的字符串,则为0;
						布尔--》数字
							true 转换 1
							false转换 0
						Null--》数字--0
						undefined-->数字--NaN
				转换方式二:
						这种方式专门用来对付字符串
						parseInt()把一个字符串转换为一个整数
						parseFloat()把一个字符串转换为一个浮点数	
			 */
			var a= "123";
			//调用Number()函数来将a转换为Number类型
			a = Number(a);
			a = false;
			a = Number(a);
			a =null;
			a = Number(a);
			a = undefined;
			a = Number(a);
			a = "123.789px";
			//调用parseInt()函数转换为Number
			/* parseInt()可以将一个字符串中整数的内容去出来,
				然后转换为Number */
			a = parseInt(a);
			// parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数
			a = "123.789.456px";
			a = parseFloat(a);
			/* 
			如果对非String使用parseInt()或parseFloat() 
				它将先其转换为String然后在操作
			 */
			a = true;
			a = parseInt(a);
			a = 789.45;
			a = parseInt(a);
			console.log(typeof a);
			console.log(a);

7、将其他的数据类型转换为Boolean

/*  
			将其他的数据类型转换为Boolean
			使用Boolean()函数
				数字---->布尔
					除了0和NaN,其余的都是true
				字符串----》Boolean
					除了空串,其余的都是true
					null和undefined都会转换为false
					对象也会转换为true
			*/
		   var a = 123;  //true
			a = -321;	//true
			a = 0;		//false
			a = Infinity;//true
			a = NaN;		//false
		   // 调用Boolean()函数转换为布尔值
		   a = Boolean(a);
		   a = null;	//false
		   a = Boolean(a);
			a = undefined;	//false
			a = Boolean(a);
		   console.log(typeof a);
		   console.log(a);

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注www.580doc.com的更多内容!


上一篇:详解Node.js中的模块化方法下一篇:js 关于取iframe 标签内的元素
程序园_程序员的世界 Copyright © 2020- www.580doc.com. Some Rights Reserved.