三、逻辑表达式
逻辑表达式分为三种:&&、||、!。运算顺序为:! > && > ||
逻辑表达式返回的值分为两种:
参与运算的都是布尔类型,返回的是布尔类型。
参与运算的若不是布尔类型,会先将其转为布尔类型之后进行输出指定表达式,就!输出的是布尔类型。(重点是记住不同类型转为boolean的值用来进行比对)
第一种:参与运算的都是布尔类型,返回的是布尔类型。
全部返回布尔类型
&&:两个都是true,返回true;有一个false,返回false。
||:有一个true就是true。
!:布尔值取反。
特殊:使用!!类型就能够得到对应类型的布尔值了,而不需要使用Boolean()进行转换了。
第二种:参与运算的类型不是布尔类型会先转为布尔类型比较后输出原本的值
&&:例a&&b,a转为boolean类型,若a为真,则表达式为b;若a假,表达式为a。—返回表达式
若是a为真,那么决定权就在b手中,直接返回b。(本质实际与前面的都相同)
||:例a&&b,a转为boolean类型,若a为真,则表达式为a;若a为假,表达式为b。(巧记:与&&相反)—返回表达式
!:例!a,若a为非boolean类型,先转为布尔类型接着取反,返回的是布尔类型值!
四、赋值运算符
赋值运算打印与连续赋值运算符:
<body> <script> var a; //直接打印赋值后的a console.log(a = 5);//5 //连续赋值 实际开发中不这么使用 var b, c, d; b = c = d = 1; console.log(b);//1 console.log(c);//1 console.log(d);//1 </script> </body>
五、综合表达式(前面几种合在一起)
介绍与小测试
综合表达式:将算术、关系、逻辑表达式组成在一起。
运算顺序:非运算(!) > 数学运算 > 关系运算 -> 逻辑运算
测试一下:
<body> <script> console.log(5 < 3 + 3);//①3+3=6 ②5<6 ==> true console.log(3 > 2 && 8 > 3 + 4);//①3+4=7 ②3>2得true 8>7得true ③true&&true => true console.log(!13 < 5 - 3);//①!13,13转true,得false ②5-3=2 ③false<2 false转0 => true </script> </body>
判断闰年问题
满足闰年条件是:
①能被4整除且不能被100整除。
②能被100整除且能被400整除。
代码如下:
<body> <script> var strYear = prompt("请输入您想要测试的年份:"); //单击确定情况 if (strYear != null) { //检测未输入与输入为空情况!用字符串形式来进行检测 if (strYear.length == 0 || strYear == " ") { alert("您未输入内容或输入的内容为空!") } else { //字符串转为数字 var year = Number(strYear).toFixed(0); if (String(year) == "NaN") { alert("输入不合法!") } else { if (year % 4 == 0 && year % 100 != 0 || year % 100 == 0 && year % 400 == 0) { alert(year + "是闰年!") } else { alert(year + "不是闰年!") } } } } </script> </body>
处理了点击确定与取消按钮的情况:下面是点击确定进行处理的情况
未输入或输入空。
输入浮点型number类型,舍弃小数点。
输入非数字情况。
总结:对于其中的内容我觉得最快捷的方式应该使用正则表达式,符合了再去转换为数字进行闰年判断。