一.运算符
1.比较运算符
01.'=='判断两个数据值相同,如果相同返回true,否则返回false
02.'!='判断两个数据值不相同,如果不相同返回true,否则返回false
*console.log(10 == 10); // true
console.log(10 == 20); // false
console.log(10 != 20); // true
console.log(10 != 10); // false
console.log('hello'=='hello'); // true
console.log('hello'=='world'); // false*
03.当数值和字符串比较大小,浏览器会把字符串转换为数值再进行比较
console.log(3 > '20'); // false
04.全字符比较 比较的是编码
onsole.log('3' > '20'); // true
05.'==='全等
比较的两个数的值与类型必须完全相同,相同返回true,否则返回false
console.log(10 == '10'); // true
console.log(10 === '10'); // false
console.log('10' === '10'); // true
06.'!== '不全等
比较的两个数的值与类型至少有一方面不相同,有一方面不相同就返回true,否则 返回false
console.log(10 != '10'); // false
console.log(10 !== '10'); // true
console.log(10 !== 10); // false
2.逻辑运算符
01.'&&' 逻辑与 口诀:找假(只要有一个错误,则不成立)
true false
console.log(10 > 5 && 10 > 12); // false
02.'||' 逻辑或 口诀:找真(只要有一个正确,则成立)
true false
console.log(10 > 5 || 10 > 12); // true
03.'! ' 逻辑非(反着来,对就错;错就对)
console.log(!true); // false
console.log(!false); // true
3.运算符的优先级
可以使用 () 来提升运算符的优先级,优先运算的用括号括起来
4.自增与自减
01.'++'可以放在变量前,也可以放在变量后
无论前自增,还是后自增,对变量的值是没有影响的,都会加1
02.影响的是参与其他运算时
前自增:先自增,再参与运算(使用本次自增后的值参与运算)
后自增:先运算(使用本次未自增的值参与运算),本次运算结束后再自增
03.'--'也是一样,同上。
二.分支结构-if分支
1.if分支语法及执行逻辑
01.分支结构: 应用场景,根据条件来决定某一段代码的执行。
语法:
if(表达式1){
// 代码块1
}else if(表达式2){
// 代码块2
}else if(表达式3){
// 代码块3
}else{
// 缺省代码块
}
//..后结代码..
//..后结代码..
//..后结代码..
02.执行逻辑:
自上而下的判断表达式是否成立,如果某个表达式成立就执行相应的代码块。
当某个代码块执行结束后,不会再判断其后的表达式,而跳过if结构,继续后的代码执行
如果所有的表达式都不成立,则执行缺省代码块
else if结构可以在多个
else 也可以省略的
03.如以下代码:
let gender = prompt('请输入性别')
if (gender == '男') {
document.write('胜似潘安');
} else if (gender == '女') {
document.write('沉鱼落雁');
} else {
document.write('数据不合法');
}
2.三元运算符
语法:
表达式 ? 语句1 : 语句2
首先判断 表达式 是否成立,
成立就选择 语句1执行
不成立就选择 语句2执行
01.三元运算符就是对 if else 双分支的简化
02.只要代码块中只有一条语句时才可以使用 三元运算符简化
三.布尔类型的转换
1.显示转换
注意:数值'0'不能转换;字符串为空不能转换(空格不为空)
2.隐式转换
四.分支结构-switch分支
1.switch分支语法以及执行逻辑
switch语法
switch(变量){
case 值1:
代码块1
break;
case 值2:
代码块2
break;
case 值3:
代码块3
break;
default:
缺省代码块
}
注意: switch后的变量与case后的值的比较于' === '
2.if与switch区别
01.if条件常用于表示一个 范围
02.switch条件一个变量和多个具体值的匹配
03.如果以后遇到一个变量和多个具体值的匹配强烈推荐使用switch,因这种情况使用switch效率高于if
3.switch穿透
例:
五.循环结构-for循环
循环:重复执行一段代码。
1.for语法
for语法:
for( 初值 ; 终值 ; 步长){
for( 循环控制变量初始化 ; 表达式 ; 循环控制变量修改){
// 循环体代码
// 循环体代码
// 循环体代码
}
执行逻辑:
a. 首先执行 定义一个循环控制变量, 此步仅执行1次
b. 判断 表达式 是否成立?如果不成立就直接退出整个语法结构,执行后续代码。
如果成立就执行语句块(循环体)
c. 当语句块(循环体) 执行结束后,再执行 循环控制变量修改
d. 再来判断 表达式 是否成立?如果不成立就直接退出整个语法结构,执行后续代码。
如果成立就执行语句块(循环体)
e. 重复的执行 b c d
2.for循环应用
// 计算1 至100之间的整数和
let sum = 0;
for(let i=1;i<=100;i++){
sum = sum + i;
}
console.log(sum);
// 使用for循环在页面输出1 行10列的表格
let str = '<table border="1" rules="all" width="500" height="500">';
str +='<tr>'
for(let i=0;i<10;i++){
str +='<td></td>'
}
str +='</tr>'
str += '</table>'
document.write(str);