1.运算相关需要注意的地方:
- 布尔值在参与数学计算的时候true=1,false=0;
- == 不要格等于,只进行内容判断,不管数据的类型是否一致,例如:a=100,b=“100”,a==b会输出true;
- === 完全等于,内容和数据类型一致时才会输出true,例如:a=100,b=“100”,a==b会输出false;
- != 不完全不等于,当内容相等即输出false,不判断数据类型;
- !== 完全不等于,当内容和数据类型都不想等的时候才会输出false;
- 逻辑运算的短路现象:
- 短路现象: 表达式1&&表达式2,表达式1为假,结果肯定为假,此时不执行表达式2;
- 短路现象:表达式1||表达式2,其中一个表达是为ture即为ture,当表达式1为ture,则不执行表达式2;
- !10 输出ture, 非函数判断数字的时候,非0输出true,0输出false;
- 短路现象: 表达式1&&表达式2,表达式1为假,结果肯定为假,此时不执行表达式2;
2.选择结构:
语法:if(条件){语句} 先判断括号内的条件是否为真,假如为真,执行花括号内的语句;
语法:if(条件){语句1}else{语句2}
先判断括号内的条件是否为真,假如为真,执行花括号内的语句,否则执行语句2;
三目运算符 ?:
语法: 表达式1? 表达式2:表达式3
先判断表达式1,若为真则执行表达式2,否则执行表达式3
三目结构亦可相互嵌套,但内容有限制,在表达式内定义变量的时候会报错。一个例子的正确和错误表达如下:
正确的:
var suer2 = parseFloat(prompt("请输入一个0~99之间的数据(三目结构)"));
var robot2 = Math.random()*99;
var compare2 = suer2 - robot2;
suer2>0 && suer2<99 ?
(
compare2 >= 0 ?
alert("你赢了!"):
alert("你输了!")
):
alert("你输入的数据不在范围内,请从新输入一个0~99的数值”);
错误的:
var suer2 = parseFloat(prompt("请输入一个0~99之间的数据(三目结构)"));
var robot2 = Math.random()*99;
suer2>0 && suer2<99 ?
(
var compare2 = suer2 - robot2;
compare2 >= 0 ?
alert("你赢了!"):
alert("你输了!")
):
alert("你输入的数据不在范围内,请从新输入一个0~99的数值”);