15----JS基础-----算数运算符

一 代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 1. 运算符也叫操作符
			 * 	通过运算符可以对一个或多个值进行运算,并获取运算结果
			 * 	比如:typeof就是运算符,可以来获得一个值的类型
			 * 		它会将该值的类型以字符串的形式返回,例如:
			 * 		number string boolean undefined object
			 * 
			 * 	2. 算数运算符
			 * 		当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算
			 * 			任何值和NaN做运算都得NaN
			 * 
			 * 		+
			 * 			+可以对两个值进行加法运算,并将结果返回
			 * 			 如果对两个字符串进行加法运算,则会做拼串
			 * 				会将两个字符串拼接为一个字符串,并返回
			 * 			任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作。
			 * 		-
			 * 			- 可以对两个值进行减法运算,并将结果返回。
			 * 
			 * 		*
			 * 			* 可以对两个值进行乘法运算
			 * 		/
			 * 			/ 可以对两个值进行除法运算
			 * 		%
			 * 			% 取模运算(取余数)
			 * 
			 * 	3. 注意只有加法存在字符串时,才会转成字符串再拼接,加法不存在字符串同样会转成Number运算。
			 * 		而- * / %不管是否存在字符串,都是转成Number运算。
			 */

			var a = 123;
			var result = typeof a;
			console.log(typeof result);		// string
			console.log(result);			// "number"
			
			// 测试加法
			result = a + 1;
			result = 456 + 789;
			console.log(typeof result);		// number
			console.log(result);			// "1245"
			
			result = true + 1;
			console.log(typeof result);		// number
			console.log(result);			// "2"
			
			result = true + false;
			console.log(typeof result);		// number
			console.log(result);			// "1"
			
			result = 2 + null;
			console.log(typeof result);		// number
			console.log(result);			// "2"

			result = 2 + NaN;
			console.log(typeof result);		// number
			console.log(result);			// "NaN"
			
			// 下面的加法会做拼接,因为带字符串
			result = "你好" + "大帅哥";
			console.log(typeof result);		// string
			console.log(result);			// "你好大帅哥"
			
			var str = "锄禾日当午," +
					  "汗滴禾下土," +
					  "谁知盘中餐," +
					  "粒粒皆辛苦";
			console.log(typeof str);		// string
			console.log(str);				// "锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦"
					  
					  
			result = 123 + "1";
			console.log(typeof result);		// string
			console.log(result);			// "1231"
			
			result = true + "hello";
			console.log(typeof result);		// string
			console.log(result);			// "truehello"
			

			console.log("==================");


			//所以得出:任何值和字符串相加都会转换为字符串,并做拼串操作
			/*
			 * 我们可以利用这一特点,来将一个任意的数据类型转换为String
			 * 	我们只需要为任意的数据类型 + 一个 "" 即可将其转换为String
			 * 	这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数
			 */
			var c = 123;
			c = c + "";
			console.log(typeof c);		// string
			console.log(c);				// "123"
			
			//c = null;
			//c = c + "";
			
			//console.log(result);
			//console.log(typeof c);
			//console.log("c = "+c);
			
			result = 1 + 2 + "3";
			console.log(typeof result);		// string
			console.log(result);			// "33"
			
			result = "1" + 2 + 3;
			console.log(typeof result);		// string
			console.log(result);			// "123"
			

			console.log("==================");


			// 测试减法
			result = 100 - 5;
			
			result = 100 - true;
			console.log(typeof result);		// number
			console.log(result);			// "99"
			
			result = 100 - "1";
			console.log(typeof result);		// number
			console.log(result);			// "99"
			
			// 测试乘法
			result = 2 * 2;
			console.log(typeof result);		// number
			console.log(result);			// "4"
			
			result = 2 * "8";		
			console.log(typeof result);		// number
			console.log(result);			// "16"		
			
			result = 2 * undefined;
			console.log(typeof result);		// number
			console.log(result);			// "NaN"	
			
			result = 2 * null;
			console.log(typeof result);		// number
			console.log(result);			// "0"	
			

			console.log("==================");


			// 测试除法
			result = 4 / 2;
			console.log(typeof result);		// number
			console.log(result);			// "2"	
			
			result = 3 / 2;
			console.log(typeof result);		// number
			console.log(result);			// "1.5"	
			


			/*
			 * 任何值做- * /运算时都会自动转换为Number
			 * 	我们可以利用这一特点做隐式的类型转换
			 * 		可以通过为一个值 -0 *1 /1来将其转换为Number
			 * 		原理和Number()函数一样,使用起来更加简单
			 */
			
			var d = "123";
			d = d - 0;
			console.log(typeof d);		// number
			console.log(d);				// "123"
			
			
			// 测试取余(取模)
			result = 9 % 3;
			result = 9 % 4;
			result = 9 % 5;
			console.log(typeof result);		// number
			console.log(result);			// "4"
			
		</script>
	</head>
	<body>
	</body>
</html>

二 结果

在这里插入图片描述
注意下图可能和上图部分重复,注意看对比一下即可。
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值