javaScript(基础2 数据类型)

数据类型

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 数据类型指的是字面量的类型
			 * 	在js中一共有六种数据类型
			 * 		String 字符串
			 * 		Number 数值
			 * 		Boolean 布尔值
			 * 		Null 空值
			 * 		Undefind 未定义
			 * 		Object 对象
			 * 
			 * 其中String,Number,Boolean,Null,Undefind属于基本数据类型,Object属于引用数据类型
			 * 
			 * 
			 * 	String字符串
			 * 		-	在js中的字符串需要使用引号.单引号,双引号都行 
			 * 
			 */
			/*
			 * var str =  "hello";
				console.log(str);
			*/
			
			
			var str = '"我说:"今天天气下雪!""';
			console.log(str)
			
			/*
			 * 在字符串中我们可以使用\作为转义字符,
			 * 	当表示一些特殊符号时可以使用\进行转义
			 * 
			 * 	\"  表示一个 "
			 * 	\'  表示一个 '
			 * 	\n  表示换行
			 * 	\t  制表符
			 * 	\\  表示一个\
			 */
			
			var  str2 = "我说:\"今天天气下雪!\""
			console.log(str2)
		</script>
	</head>
	<body>
	</body>
</html>

Number
NaN 是一个特殊数字,表示 Not A Number
使用typeof 检查一个 NaN也会返回number

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
		 *  在js中所有的数值都是Number类型,
		 		包括整数或浮点数
		 		
		 	js中可以表示的数字的最大值.   
		 		Number.MAX_VALUE
		 			1.7976931348623157e+308	
		 		Number.MIN_VALUE   大于0的最小数
		 			5e-324
		 	超过最大值 就会返回一个Infinity
		 		Infinity 表示正无穷
		 		-Infinity 表示负无穷
		 		使用typeof 检查Infinity会返回Number类型
		 	
		 	NaN 是一个特殊数字,表示 Not A Number
		 		使用typeof 检查一个 NaN也会返回number
		 */
		//数字123
		var a = 123;
		
		//字符串123
		var b = "123";
		
		/*
		 * 	可以使用一个运算符 typeof 来检验一个变量的类型
		 	语法:typeof 变量名
		 	
		 */
		//console.log(typeof b)
		
		//js中可以表示的数字的最大值.   超过最大值 就会返回一个Infinity
		console.log(Number.MAX_VALUE)
		//1.7976931348623157e+308
		
		a = Number.MIN_VALUE
		console.log(a)//5e-324
		
		var c = Infinity;
		console.log(typeof c)
		//number 类型
		
		var d = "abc"  * "abc";
		console.log(d)//NaN
		console.log(typeof d)//number
		</script>
		
	</head>
	<body>
	</body>
</html>

Boolean

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * Boolean 布尔值
			 */
			
			var bool = true;
			console.log(typeof bool);
		</script>
	</head>
	<body>
	</body>
</html>

强制类型转换成String

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 强制类型转换
			 * 	类型转换主要指,将其他数据类型,转换为String,NumberBoolean
			 * 
			 * 将其他的数据类型转换成String
			 * 方式一:
			 * 		调用被转换数据类型的toString()方法
			 * 		该方法不会影响原变量,他会将转换的结果返回
			 * 		注意:null和undefind这两个值没有toString方法
			 * 			如果调用他们的方法,会报错
			 * 
			 * 方式二:
			 * 		调用String()函数,并将被转换的数据作为参数传递给函数
			 * 		使用String()函数做强制类型转换时,
			 * 			对于number和Boolean实际上就是调用的toString()方法
			 * 			但对于null和undefind,就不会调用toString()方法,他会直接转换。
			 */
			
			var a = 123;
			
			a = null
			//a =  a.toString() 报错
			//调用a的toString()方法
			//调用xxx的yyy方法,就是xxx.yyy()
			
			
			/*a.toString()
			console.log(typeof a) //"number"
			console.log(a)	*/	
			
			
			a = undefined
			//a =  a.toString() 报错
			
			
			a = 123;
			//调用String()函数,来将a转换成字符串
			String(a)
			console.log(typeof a) //string
			console.log(a)
			
			
		</script>
	</head>
	<body>
	</body>
</html>

强制转换成Number

  1. parseInt() 把一个字符转转换成一个整数。
  2. parseFloat() 把一个字符串转换成一个浮点数。
  3. 如果对于非String使用parseInt()或parseFloat() 它会先将其转换成String然后在操作
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 将其他类型转换成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 = "     ";
			a = Number(a);
			
			
			//如果是Boolean
			a = true;
			a = Number(a);
			
			
			//Null转数字
			a = null;
			a = Number(a);
			
			//undefind转数字
			a  = undefined;
			a = Number(a)
			
			//方式二
			a =  "123px"; //123
			a =  "12a3px"; //12
			a =  "12.3px"; //12
			a = parseInt(a);
			
			
			a =  "12.3px";
			a = parseFloat(a); //12.3
			/*
			 * 调用parseInt()	函数可以将a转换成Number	
			 * 
			 * parseInt()	函数可以将一个字符串中的有效的整数内容取出来,然后转换成Number
			 */
			
			
			/*
			 * 如果对于非String使用parseInt()或parseFloat()
			 * 它会先将其转换成String然后在操作
			 */
			a = true;
			a = parseInt(a);
			a.toString()
			
			console.log(typeof a)
			console.log(a)
		</script>
	</head>
	<body>
	</body>
</html>

其他进制的数字

		 * 在js中,如果需要表示16进制的数字,则需要以0x开头
		 * 			如果需要表示8进制的数字,则需要以0开头
		 * 			如果需要表示2进制的数字,则需要以0b开头
		 * 				但是不是所有的浏览器都支持
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 在js中,如果需要表示16进制的数字,则需要以0x开头
			 * 			如果需要表示8进制的数字,则需要以0开头
			 * 			如果需要表示2进制的数字,则需要以0b开头
			 * 				但是不是所有的浏览器都支持
			 */
			
			//十六进制
			var a = 0X10;
			a = 0xff;
			a = 0xcafa;
			
			//八进制
			var b = 010;
			
			//二进制
			//b = 0b10;
			
		
			//向“070” 这种的字符串,有些浏览器会当成8进制解析,有些会当成10进制解析
			a = "070";
			
			//可以在parseInt()中传递第二个参数,来指定数字的进制
			a = parseInt(a,10);
			console.log(a);
		</script>
	</head>
	<body>
	</body>
</html>

强制转换成Boolean

  • 将其他的数据类型转换成Boolean
    * 使用Boolean()函数
    * 数字转布尔:
    * 除了0和NaN,其余都是true
    * 字符串转布尔:
    * 除了空串,其余都是true
    * null和undefind都会转成false
    *
    * 对象也会转换成true
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 将其他的数据类型转换成Boolean
			 * 		使用Boolean()函数
			 * 			数字转布尔:
			 * 				除了0和NaN,其余都是true
			 * 			字符串转布尔:
			 * 				除了空串,其余都是true
			 * 			null和undefind都会转成false
			 * 			
			 * 			对象也会转换成true
			 */
			var a = 123;//true
			a = -123;//true
			a = 0; //false
			a = Infinity; //true
			a = NaN; //false
			
			//调用Boolean()函数将a转换成Boolean
			a = Boolean(a); 
			
			a = "hello"; //true
			a = " ";  //true
			a = "";   //false
			
			a=  null;  //false
			
			a = undefined; //false
			a = Boolean(a); 
			console.log(typeof a);
			console.log(a);
		</script>
	</head>
	<body>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值