文章目录
4 判断和循环
4.1 判断
进行判断
- 使用流程图
判断条件、条件语句
- 上述流程图的代码实现:
if(score>50){ //如果条件为真返回true document.write('恭喜通过了!'); //返回true执行此语句 }else{ //否则(返回false) document.write('再测一次···'); //执行此语句 }
- 判断条件:通常使用比较操作符对两个值进行比较,返回true或者false
- 条件语句:基于if(如果)then(那么)else(否则)这样的概念工作
比较操作符:判断条件
- 操作符
==
等于:比较两个值(数字、字符串、布尔类型)是否相同!=
不等于:比较两个值(数字、字符串、布尔类型)是否不相同===
严格等于:比较两个值,检查数据类型、值是否完全相同!==
严格不等于:比较两个值,检查数据类型、值是否完全不相同>
大于<
小于>=
大于等于<=
小于等于
- 例外情况
- 没个值都可以被“当作”true或者false
- 短路判断中,条件有可能不需要被执行
- 组织比较操作符
- 语法:
(操作数 比较操作符 操作数)
- 例:
(score >= pass)
- 例:
- 表达式的结果:一个单一的值,这里是true/false
- 语法:
- 使用比较操作符
var pass=50; //通过的分数 var score=90; //用户的分数 //确认用户是否通过测验 var hasPassed= score>=pass; //更新内容,在页面上显示通过情况 var el=document.getElementById('answer'); el.textContent='通过情况:'+hasPassed;
- 使用表达式:
- 操作数也可以是表达式,因为每个表达式的结果都是单一的值
((score1+score2) > (highScore1+highScore2))
- 比较两个表达式
var score1=90; var score2=95; var highScore1=75; var highScore2=95; //检查总分是否高于目前为止总分的最高分 //将比较结果赋值给一个变量时,不需要将它包裹在最外面一层小括号中 var comparison = (score1+score2)>(highScore1+highScore2); //将结果显示在页面上 var el=document.getElementById('answer'); el.textContent="获得新的最高分:"+comparison;
- 操作数也可以是表达式,因为每个表达式的结果都是单一的值
逻辑操作符
-
作用:将多个比较操作符的结果放在一起进行比较
- 例:3个表达式,每个表达式都会得到true/false的结果
((5<2) && (2>=3))
- 例:3个表达式,每个表达式都会得到true/false的结果
-
三个逻辑操作符
- 与
&&
:检测多个条件
表达式 结果 true &&
truetrue true &&
falsefalse false &&
falsefalse false &&
truefalse - 或
||
:检测至少一个条件
表达式 结果 false ||
falsefalse true ||
truetrue true ||
falsetrue false ||
truetrue - 非
!
:操作单一布尔变量,对其取反
表达式 结果 !
falsetrue !
truefalse - 与
-
短路条件
- 逻辑表达式从左到右进行计算,若第一个条件可以为最终结果提供足够信息,则没有必要计算后续条件
false && 任何条件
:最终结果 falsetrue || 任何条件
:最终结果 true
-
使用逻辑操作符示例
- 与
&&
//判断用户是否两次均通过测验 var score1=8; var score2=8; var pass1=6; var pass2=6; //检查用户是否两次均通过测验,将结果保存在变量passBoth中 var passBoth = ((score1>=pass1)&&(
- 与