首页 > 编程语言 >JavaScript 逻辑运算符

JavaScript 逻辑运算符

时间:2023-02-26 20:55:41浏览次数:36  
标签:返回 逻辑 false JavaScript 值为 运算符 result && true

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * JS中为我们提供了三种逻辑运算符
			 * ! 非
			 * 	- !可以用来对一个值进行非运算
			 * 	- 所谓非运算就是值对一个布尔值进行取反操作,
			 * 		true变false,false变true
			 * 	- 如果对一个值进行两次取反,它不会变化
			 * 	- 如果对非布尔值进行元素,则会将其转换为布尔值,然后再取反
			 * 		所以我们可以利用该特点,来将一个其他的数据类型转换为布尔值
			 * 		可以为一个任意数据类型取两次反,来将其转换为布尔值,
			 * 		原理和Boolean()函数一样
			 * 
			 * && 与
			 * 	- &&可以对符号两侧的值进行与运算并返回结果
			 * 	- 运算规则
			 * 		- 两个值中只要有一个值为false就返回false,
			 * 			只有两个值都为true时,才会返回true
			 * 		- JS中的“与”属于短路的与,
			 * 			如果第一个值为false,则不会看第二个值
			 * 
			 * || 或
			 * 	- ||可以对符号两侧的值进行或运算并返回结果
			 * 	- 运算规则:
			 * 		- 两个值中只要有一个true,就返回true
			 * 			如果两个值都为false,才返回false
			 *		- JS中的“或”属于短路的或
			 * 			如果第一个值为true,则不会检查第二个值
			 */
			
			//如果两个值都是true则返回true
			var result = true && true;
			
			//只要有一个false,就返回false
			result = true && false;
			result = false && true;
			result = false && false;
			
			//console.log("result = "+result);
			
			//第一个值为true,会检查第二个值
			//true && alert("看我出不出来!!");
			
			//第一个值为false,不会检查第二个值
			//false && alert("看我出不出来!!");
			
			//两个都是false,则返回false
			result = false || false;
			
			//只有有一个true,就返回true
			result = true || false;
			result = false || true ;
			result = true || true ;
			
			//console.log("result = "+result);
			
			//第一个值为false,则会检查第二个值
			//false || alert("123");
			
			//第一个值为true,则不再检查第二个值
			//true || alert("123");
			
			
			
			var a = false;
			
			//对a进行非运算
			a = !a;
			
			//console.log("a = "+a);
			
			var b = 10;
			b = !!b;
			
			//console.log("b = "+b);
			//console.log(typeof b);
			
		</script>
	</head>
	<body>
	</body>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		
		<script type="text/javascript">
			
			/*
			 * && || 非布尔值的情况
			 * 	- 对于非布尔值进行与或运算时,
			 * 		会先将其转换为布尔值,然后再运算,并且返回原值
			 * 	- 与运算:
			 * 		- 如果第一个值为true,则必然返回第二个值
			 * 		- 如果第一个值为false,则直接返回第一个值
			 * 
			 * 	- 或运算
			 * 		- 如果第一个值为true,则直接返回第一个值
			 * 		- 如果第一个值为false,则返回第二个值
			 * 
			 */
			
			//true && true
			//与运算:如果两个值都为true,则返回后边的
			var result = 5 && 6;
			
			
			//与运算:如果两个值中有false,则返回靠前的false
			//false && true
			result = 0 && 2;
			result = 2 && 0;
			//false && false
			result = NaN && 0;
			result = 0 && NaN;
			
			
			//true || true
			//如果第一个值为true,则直接返回第一个值
			result = 2 || 1;
			result = 2 || NaN;
			result = 2 || 0;
			
			//如果第一个值为false,则直接返回第二个值
			result = NaN || 1;
			result = NaN || 0;
			
			result = "" || "hello";
			
			result = -1 || "你好";
			
			
			console.log("result = "+result);
			
		</script>
		
	</head>
	<body>
	</body>
</html>

标签:返回,逻辑,false,JavaScript,值为,运算符,result,&&,true
From: https://www.cnblogs.com/chuixulvcao/p/17157635.html

相关文章

  • 位运算符
    位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。    练习题:lc 191.位1的个数classSolution{//开始给的无符号整数一定大......
  • 03_08_JavaWeb||day09_javaScript基础【重点掌握】||day09_1_JavaScript基础【重点掌
    今日内容JavaScript基础(建议写到body的最后面,防止先加载后获取导致获取不到)1.1JavaScript:1.1.1概念:一门客户端脚本语言运行在客户端浏览器中的。每一个浏览器都有Ja......
  • 03_09_JavaWeb||day10_javaScript高级||day10_1_JavaScript高级【重点掌握】
    今日内容:JavaScript:(建议写到body的最后面,防止先加载后获取导致获取不到)ECMAScript:BOM:DOM:事件【重点】预热1DOM简单学习:为了满足案例要求功能:控制html文档的内容【*......
  • 02_18_Java语音进阶||day18_Java基础小节练习(17-20部分)数据类型转换&运算符&方法入门
    第一部分数据类型转换&运算符&方法入门第一题编写步骤:定义类Test1定义main方法定义两个byte类型变量b1,b2,并分别赋值为10和20.定义变量b3,保存b1和b2的和,并输出.定义两......
  • SQL-运算符
    SELECT100,100+0,100-0,100+50,100+50*30,100+35.5,100-35.5FROMDUAL;SELECT100*1,100*1.0,100/1.0,100/2,100+2*5/2,100/3,100DIV0FROMDUAL;SELECT12%3,12%5......
  • 运算符优先级口诀
    运算符优先级口诀:单目算术位关系,逻辑三目后赋值。单目(一元):++、--算术:+、-、*、/、%位:位移运算符:<<(左移位)、>>(带符号右移位)、>>>(不带符号右移)关系:<、>、<=、>=、==逻辑:&&、......
  • 《JavaScript百炼成仙》,简单但是挺有效的
    编程之修,重在积累,而非资质。资质虽然重要,可是后天的努力更不可少。《JavaScript百炼成仙》是一本以玄幻小说的形式,来讲述JavaScript的知识。此篇仅仅是我快速阅读《JavaScri......
  • why is the performance of javascript bitwise operations unstable All In One
    whyistheperformanceofjavascriptbitwiseoperationsunstableAllInOne为什么javascript位运算的性能不稳定?性能优化/性能测试demos~~doublenotbit......
  • C语言关系运算符
    运算符意义==相等!=不相等>大于>=大于或等于<小于<=小于或等于 关系运算的结果:当两个值的关系符合关系运算符的预期时,关系运算的结果为......
  • 【牛客】4 序列检测&时序逻辑
    VL25 输入序列连续的序列检测这种题用移位寄存器是最方便的,用状态机会麻烦很多。`timescale1ns/1nsmodulesequence_detect(inputclk,inputrst_n,i......