2021-08-02变量的高级+数据类型转换

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			alert("这是练习的代码"); 
			
			// 交换两个变量的值
			var a = 1;
			var b = 2;
			var temp = a;
			a = b;
			b = temp;
			console.log(a,b);
			
			// 字符串换行
			var a = "打印时 \n换行";
			console.log(a);
			var a = "编译时 \ 折行"
			console.log(a);
			
			// 字符串操作
			// 字符串跟任何数据类型相加,得到的结果都是字符串,对不是字符串的数据类型,会通过tostring转换成字符串数据类型
			var a = "一直往南方开" + "一直往南方开";
			console.log(a);
			var a = "再见杰克" + 123;
			console.log(a);
			var a = "再见杰克" + false;
			console.log(a);
			var a = "再见杰克" + null;
			console.log(a);
			var a = "再见杰克" + undefined;
			console.log(a);
			
			// 数值
			var a = 123;
			console.log(a);
			// 特殊数值
			// 把值不是数字的字符串强转number,会得到NaN,不是一个数字
			// 0 / 0 结果也是NaN
			var a = "张三";
			console.log(Number("a"));
			// NaN和任何数字相加得到的结果都是NaN
			var a = 0 / 0;
			console.log(a + 123);
			// NaN和字符串相加得到的是字符串
			var a = 0 / 0;
			var b = "张三";
			console.log(a + b);
			// NaN和boolean相加结果是NaN
			var a = 0 / 0;
			console.log(a + true);
			// NaN和undefined相加结果是NaN
			var a = 0 / 0;
			console.log(a + undefined);
			// NaN和null相加结果是NaN
			console.log(a + null);
			// 任何数据类型和NaN比较得到的结果都是false
			var a = 0 / 0;
			console.log(a == 1);
			console.log(a > 1);
			console.log(a < undefined);
			console.log(a < "张三");
			console.log(a > false);
			
			// isNaN	判断数据不是一个数值,是数组返回false,不是数值返回true
			console.log(isNaN("张三"));
			console.log(isNaN(123));
			console.log(isNaN(null));
			console.log(isNaN(NaN));
			
			// 最大值最小值,正无穷负无穷
			console.log(Number.MAX_VALUE);
			console.log(Number.MIN_VALUE);
			console.log(Number.POSITIVE_INFINITY);
			console.log(Number.NEGATIVE_INFINITY);
			
			
			// boolean数据类型
			// 返回的值只有两个,true和false,判断数据类型,占内存很小,只有1/8字节
			// 重点:boolean六种false的情况--空字符串,0,NaN,false,undefined,null
			// 判断字符串,字符串中有内容就是true,没有内容就是false
			console.log(Boolean("张三"));
			console.log(Boolean(""));			//false
			// 空格都算有内容
			console.log(Boolean("  "));			
			
			// 判断数字
			console.log(Boolean(0));			//false
			console.log(Boolean(1243));
			console.log(Boolean(NaN));			//false
			console.log(Boolean(Infinity));
			
			// 判断boolean
			console.log(Boolean(true));
			console.log(Boolean(false));		//false
			
			// 判断undefined
			console.log(Boolean(undefined));	//false
			
			// 判断null
			console.log(Boolean(null));			//false
			
			
			// undefined
			// 声明变量但是没有赋值,会出现undefined
			var a;
			console.log(a);
			
			// 正常情况下,在 + 两端,除了字符串外,都算是数字的运算,所以会先把数据类型强转成number数据类型,再进行运算
			var a;
			console.log(a + 1);				//结果NaN
			// 底层运算为;
			console.log(Number(a));			//输出NaN
			console.log(Number(a) + 1);		//NaN和任何数值相加结果都是NaN
			
			// undefined派生自null,所以undefined == null
			console.log(undefined == null);		//输出true;
			
			
		</script>
	</body>
</html>

上一篇:ES6—Object.is(JS中的两等、三等比较)小知识


下一篇:第三天 #JS基础