2021-08-02运算符练习

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			// 案例练习
			
			/* 
				运算符优先级:
					括号()
					++;--;!
					 *;/;%
					+;-;
					<;>;<=;>=
					==;===;!=;!==
					&&;
					||;
					?
			 */
			
			
			//字符串类型的数据:在进行数学运算(- * / %)时,会先将自身隐式转换(Number)成数值类型再进行计算
			// 在进行+操作时,是字符串的拼接
			// 任意数据类型和NaN做数学运算,结果都是NaN,
			// 但是注意只要是字符串在和任意数据类型做相加+的运算,都是字符串拼接。
			console.log('2' - '1');				//输出结果为1
			console.log('2' - 1);				//输出结果为1
			console.log('2' * 1);				//输出结果为2
			console.log('2' / 3);				//输出结果为6
			console.log('2' % 3);				//输出结果为2
			console.log('2' + '1');				//输出结果为21
			console.log('1' + 3);				//输出结果为13
			console.log('2' - '嘿嘿');			//输出结果为NaN
			console.log('1' - '2abc');			//输出结果为NaN
			console.log('嘿嘿' + '1a');			//输出结果为嘿嘿1a
			console.log('嘿嘿' + NaN);			//输出结果为嘿嘿NaN
			console.log('嘿嘿' + 5 * '6');		//输出结果为嘿嘿30	
			console.log(('嘿嘿' + 5) * '6')		//输出结果为NaN
			
			// 布尔类型的数据:在进行数学运算(+ - * / %)时,会先将自身隐式转换(Number)成数值类型再进行计算
			console.log(true + true); 			//输出结果为2
			console.log(true + 5); 				//输出结果为6
			console.log(true + '8'); 			//输出结果为9
			console.log(true - '8');			//输出结果为-7
			console.log(false - 3);				//输出结果为-3
			console.log(false - 3 * '哈哈');		//输出结果为NaN
			
			// 未定义类型的数据:在进行数学运算(+ - * / %)时,会先将自身隐式转换(Number)成数值类型再进行计算
			console.log(undefined + undefined);	//输出结果为NaN
			console.log(undefined + 1);			//输出结果为NaN
			console.log(undefined + '5' + '哈哈');	//输出结果为undefined5哈哈
			
			//空类型的数据:在进行数学运算(+ - * / %)时,会先将自身隐式转换(Number)成数值 类型再进行计算
			console.log(null + true); 			//输出结果为1
			console.log(null + 5);				//输出结果为5
			console.log('null' + (null - 3) + undefined);	//输出结果为null-3undefined
			
			
			console.log(5 > 3);					//输出结果为true
			console.log(5 > '3');				//输出结果为true
			console.log('5' < true);			//输出结果为false
			console.log(5 > '6哈哈');			//输出结果为false
			console.log('a' < 'ab');			//输出结果为true
			console.log('ab' < 'bz');			//输出结果为true
			console.log('100' < 'a');			//输出结果为true
			console.log('5' == 5);				//输出结果为true
			console.log(1 == true);				//输出结果为true
			console.log(1 === true);			//输出结果为false
			console.log(0 == false);			//输出结果为true
			console.log(null < 1);				//输出结果为true
			
			// 特殊的
			// null和undefined相等 其余的所有的都和null不等
			console.log(null == 0);				//输出结果为false
			console.log(null == ' ');			//输出结果为false
			console.log(null == '');			//输出结果为false
			console.log(null == false);			//输出结果为false
			console.log(null == undefined);		//输出结果为true
			
			console.log(undefined + null * '-10' + 100 > 90);		//输出结果为false
			console.log(null * undefined + null + '嘿嘿');			//输出结果为NaN嘿嘿
			console.log(true + 'undefined' - undefined + '5');		//输出结果为NaN5
			console.log((5 + true > true) + 5 > true);				//输出结果为true
			console.log(!true - '5' + 8 + parseInt('4嘿嘿'));		//输出结果为7
			console.log((!false - !null) * parseInt('3.14') + '');	//输出结果为0
			console.log(5 > 3 && 5 > 4);							//输出结果为true
			var a = 5 > 3 && 5 > 4 && 5 > 6;				
			console.log(a);											//输出结果为false
			console.log(5 > 3 && 5 < 4 && 5 > 6);					//输出结果为false
			console.log(5 > 3 || 5 > 6);							//输出结果为true
			console.log(5 < 3 || 5 < 6 || 5 < 8);					//输出结果为true
			
			// && 与 如果前面的表达式结果是true,
			// 返回的是后面表达式的数据,如果前面的表达式结果是false,直接返回数据
			console.log(5 && 8);									//输出结果为8
			console.log(0 && 8);									//输出结果为0
			console.log(Boolean(5) && Boolean(8));					//输出结果为true
			console.log(Boolean(0) && Boolean(8));					//输出结果为false
			console.log(null && '红浪漫');							//输出结果为null
			console.log(5 + 3 && 5 + 4);							//输出结果为9
			console.log(true == 5 > 3);								//输出结果为true
			console.log('' && NaN);									//输出结果为空字符串
			console.log(' ' && NaN);								//输出结果为NaN 
			console.log('红浪漫' && 10 + false && '张三');			//输出结果为张三
			console.log(' ' && 10 + '红浪漫' && 5 > null);			//输出结果为true
			console.log(' ' && 10 - '红浪漫' && 1.3245644564464 + 2.14335334533553 + 32.433433533535);			//输出结果为NaN
			console.log(5 || 3);									//输出结果为5
			console.log(0 || NaN);									//输出结果为NaN
			console.log(' ' || 10 + '红浪漫' || 5 > null);			//输出结果为空格
			console.log('' || 10 - '红浪漫' || 5 > null);			//输出结果为true
			var b;
			console.log(5 - undefined || 10 + undefined * null || 5 * b);	//输出结果为NaN
			console.log(!(5 > 3));									//输出结果为false
			console.log(!5);										//输出结果为false
			console.log(!'哈哈');									//输出结果为false 
			console.log(!undefined);								//输出结果为true
			console.log(!5 > 3);									//输出结果为false
			console.log(!'' + 5 + !null); 							//输出结果为7
			console.log(5 || 3 && '哈哈');							//输出结果为5
			console.log((5 || 3) && '哈哈');							//输出结果为哈哈
			var f;
			console.log(!'红浪漫' + NaN || !10 + null * '5' && '8' * !f);	//输出结果为0
			console.log(' ' + true && !('红浪漫' - 8) || ' ' - 1 && !undefined + null); 		//输出结果为true     
			console.log(!Number(' ') + true && Boolean('红浪漫') - 8 || ' ' - 1 && !undefined+ !(5+ 3));		//输出结果为-7
		</script>
	</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值