javascript基础(算数运算符)(八)

注:有编程基础的,自学时可以略过此节

1.基本运算符:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 	运算符(操作符)
			 		- 通过运算符可以对一个或多个值进行运算,并返回结果
			 		- 我们之前使用的typeof就是一个运算符,他可以用来检查一个变量的数据类型
			 		
			 		- 比如:+ - * / % 都是运算符
			 		- 算数运算符:
			 			+ 
			 				- +可以对符号两侧的值进行加法运算,并将运算结果返回
			 				- 当对非数字(除了字符串)进行加法运算时,它会将其先转换为数字,然后再运算	
			 				- 如果对两个字符串进行相加,则会进行拼串的操作,将两个字符串拼成一个字符串
			 				- 任何值和字符串进行加法运算时,都会先将其转换为字符串,然后在和字符串进行拼串的操作
			 				- 我们经常通过为一个任意的值加 空串的形式来将其转换为字符串,
			 					这种形式我们称为隐式的类型转换,原理实际上也是通过String()函数转换的,
			 						但是这种方式更加简单。
			 			- 
			 			* 
			 			/ 
			 			%
			 			
			 	
			 * */
			
			/*var a = 123;
			var result = typeof a;
			console.log(result);*/
			
			var a = 10;
			
			a = a + 5;
			
			a = 7 + 8;
			
			a = 10 + true; //11
			
			a = true + false;//1
			
			a = false + null; //0
			
			//任何值和NaN做任何运算都是NaN
			a = NaN + 10; //NaN
			
			a = undefined + 100; //NaN
			
			a = "hello" + "world"; //"helloworld"
			
			a = 11 + "abc"; //"11abc"
			
			a = true + "hello";
			
			a = "你好" + undefined;
			
			//console.log("a = " +a);
			
			a = 123;
			
			//a = String(a);
			a = a + "";
			
			a = true;
			a = a+"";
			
			/*console.log("a = "+a);
			console.log(typeof a);*/
			
			var result = 1 + "2"; //12
			
			result = 1 + 2 + "3"; //33
			
			result = "1" + 2 + 3; //123
			
			result = "1" + (2 + 3); //15
			
			//console.log("result = "+result);
			
			/*
			 	- 
			 		- -可以对符号两侧的值进行减法运算
			 	*
			 		- *可以对符号两侧的值进行乘法运算
			 	/   
			 		- /可以对符号两侧的值进行除法运算
			 		
			 		- 这些符号的运算规则和数学中是一摸一样的,
			 			不同的是在对非数字类型进行运算时,会先将其转换为数字然后在运算
			 			我们还可以通过为一个任意的数据类型 -0 *1 /1 来将其转换为Number类型
			 			原理和Number()函数一样。
			 			
			 	% 
			 		- % 可以对符号两侧的值进行取模(取余)运算
			 		- 同样对非数字进行取模的运算,也会转换为数字然后在运算
			 	
			 * */
			
			var b = 10 - 5; 
			
			b = 10 * 5;
			
			b = 10 / 5;
			
			b = 10 - true;
			
			b = 5 / "5";
			
			b = 5 * "abc";
			
			//console.log("b = "+b);
			
			var c = "123";
			
			c = c - 0;
			
			/*console.log("c = "+c);
			console.log(typeof c);*/
			
			var d = 10 % 5; //0
			d = 9 % 5; //4
			d = 8 % 5; //3
			
			console.log("d = "+d);
			
			
		</script>
	</head>
	<body>
	</body>
</html>

2.一元运算符:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
				一元运算符只需要一个操作数
				
				一元的+
					- 一元+就相当于数学运算中的 正号
					- 一元+不会对一个数值产生任何变化
				
				一元的-
					- 一元-相当于数学运算中的 负号
					- 负号可以对一个数值进行符号位取反
					
				- 如果对非数值进行一元的+或-运算,它会向将其转换为number,然后在运算
					我们可以利用这一特点来将任意的数据类型 转换为Number
				
			 * */
			
			var a = -10;
			
			//a = +a;
			
			a = -a;
			
			a = true;
			a = -a;
			
			//可以使用一元的+将其他数据类型转换为Number,原理和Number()函数一样
			a = "123";
			a = +a;
			
			/*console.log("a = "+a);
			console.log(typeof a);*/
			
			
			var result = 1 + +"2" + 3;
			
			console.log(result);
			
		</script>
	</head>
	<body>
	</body>
</html>

3.自增和自减:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 	自增:
			 		- 所谓的自增就是指在变量原值的基础上增加一个1
			 		- 我们使用++来进行自增运算
			 		- ++可以写在变量前或者变量后,我们称为前++(++a) 和 后++(a++)
			 			无论是a++还是++a都会立即使原变量自增1,调用几次就自增几次
			 			不同的是a++和++a的值不同。
			 			a++的值是变量自增前的值(变量原值)
			 			++a的值是变量自增后的值(变量新值)
			 * */
			
			var a = 10;
			
			//使a自增1
			//a++;
			
			//++a;
			
			
			/*console.log("++a = " + ++a);*/
			
			/*console.log("a++ = " + a++);*/
			
			/*console.log("a = "+a);*/
			
			a = 10;
			
			//10 12 12
			/*
			 	① a++  a++ = 10  a = 11
			 	② ++a  ++a = 12  a = 12
			 	③ 三个求和
			 */
			var c = a++ + ++a + a;
			
			//console.log("c = "+c);
			
			var b = 5;
			
			/*
			 * ① b++ b=6  b++ = 5
			 * ② 将b++的结果赋值给b
			 */
			//b = 5
			b = b++;
			
			//console.log(b);
			
			/*
			 * 自减
			 * 	- 自减指在原值的基础上 -1
			 * 	- 使用 -- 进行自减运算
			 *  - --分为前--(--a) 和 后--(a--)
			 * 		- 无论是--a 还是 a-- 都会使原变量立即自减1
			 * 		- 不同的是 a-- 的值变量自减前的值(变量的原值)
			 * 			而--a 的值是变量自减后的值(变量的新值;)
			 */
			
			var n = 5;
			
			//n--;
			//--n;
			
			console.log(n--);//5
			console.log(--n); //3
			console.log("n = "+n);
			
			
		</script>
	</head>
	<body>
	</body>
</html>

练习:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var n1=10 , n2=20;
			
			var n = n1++; //n1=11  n=10
			
			console.log('n='+n); //10
			console.log('n1='+n1); //11
			
			n = ++n1; //n1=12 n=12
			console.log('n='+n); //12
			console.log('n1='+n1); //12
			
			
			n = n2--; // n2=19 n=20
			console.log('n='+n); //20
			console.log('n2='+n2); //19
			
			
			n = --n2; //n2=18 n=18
			console.log('n='+n);  //18
			console.log('n2='+n2);//18
			
		</script>
	</head>
	<body>
	</body>
</html>




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鸭蛋炒饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值