1.运算符
1.1算术 运算符
加、减、乘、除、取余 %,取模(取余数),余数是0,表示能够被整除 两个浮点数无法直接判断是否相等
1.2递增递减 运算符
前置 递增递减运算符。++变量 ,表示先自增加1,再返回值;后置 递增递减运算符。变量++ ,表示先返回原值,再自增加1;练习
var i = 10 ;
var b = ++ i;
console. log ( i) ;
console. lopg ( b) ;
var i = 10 ;
var b = i++ ;
console. log ( i) ;
console. lopg ( b) ;
1.3比较 运算符
比较运算后,会返回一个Boolean值作为结果; <小于,<=小于或等于,>=大于或等于,大于>; ==,判等号,判断两边值是否相等,不比较类型,会有隐式转换; !=,不等号; ===,全等号,要求值和数据类型都一致, !=-
1.4逻辑 运算符
返回值为布尔值,用于多个条件的判断 &&,逻辑与,与,and,两边都是true,才会返回true; ||,逻辑或,或,or,两边都是false=,才会返回false; !,逻辑非,非,not,取反等
1.5短路 运算(逻辑中断)
逻辑与。如果表达式1的值为真,则输出表达式2;如果表达式1的值为假,则输出表达式1;
console. log ( 123 && 456 ) ;
console. log ( 0 && 456 ) ;
console. log ( 123 && 456 && 789 ) ;
逻辑或。如果表达式1的值为真,则输出表达式1;如果表达式1的值为假,则输出表达式2;
console. log ( 123 || 456 ) ;
console. log ( 0 || 456 ) ;
console. log ( 123 || 456 || 789 ) ;
如果表达式1为真,那么表达式2不会被执行
var num = 0 ;
console. log ( 123 || num++ ) ;
console. log ( num) ;
1.6赋值 运算符
把数据赋值给变量; =,直接赋值; +=、-=,加、减一个数后再赋值
var age = 10 ;
console. log ( age += 10 ) ;
*=、/=、%=,乘、除、取模后再赋值
var str = 100 ;
console. log ( str /= 20 ) ;
var str1 = 21 ;
console. log ( str1 %= 4 ) ;
1.7运算符优先级
括号(); 一元运算符,++、–、! 算术运算符,先乘除后加减; 关系运算符,>、<=、>=、>; 相等运算符,判等号、不等号、全等号; 逻辑运算符,先&&后||; 赋值=; 逗号
2.if分支语句
2.1流程控制
流程控制是指控制代码按照特定的顺序去执行的方式,顺序结构、分支结构、循环结构
2.2if分支 语句
语法结构
if ( 条件表达式) {
执行语句
}
执行思路。如果if里面的条件表达式结果为真true,则执行大括号里面的执行语句; 进入网吧案例
var age = prompt ( '请输入您的年龄:' ) ;
if ( age >= 18 ) {
alert ( 'come on baby~' ) ;
}
2.3if else双分支 语句
语法结构
if ( 条件表达式) {
执行语句1
} else {
执行语句2
}
执行思路。如果表达式结果为真,那么执行语句1,否则,执行语句2; 判断案例
var year = prompt ( '请输入一个年份:' ) ;
if ( year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ) {
alert ( '这一年是闰年' ) ;
} else {
alert ( '这一年是平年' ) ;
}
2.4if else if 多分支 语句
多分支语句,利用多个条件来选择不同的语句执行,得到不同的结果,多选1 的过程 语法结构
if ( 条件表达式1 ) {
语句1 ;
} else if ( 条件表达式2 ) {
语句2 ;
} else if ( 条件表达式3 ) {
语句3 ;
} else {
上述条件都不成立执行此处代码
}
执行思路。如果满足条件表达式1,那么就会执行语句1,执行完毕后,就会退出整个if分支语句; 判断成绩案例
var grade = prompt ( '请输入您的成绩:' ) ;
if ( grade >= 90 ) {
alert ( 'A' ) ;
} else if ( grade >= 80 ) {
alert ( 'B' ) ;
} else if ( grade >= 70 ) {
alert ( 'C' ) ;
} else if ( grade >= 60 ) {
alert ( 'D' ) ;
} else {
alert ( 'E' ) ;
}
2.5三元表达式
有三元运算符 组成的式子称为三元表达式; 语法结构:
表达式1 ? 表达式2 : 表达式3
执行思路:如果表达式1为 true ,则返回表达式2的值,如果表达式1为 false,则返回表达式3的值; 数字补0案例
var num = prompt ( '请您输入一个数字:' ) ;
var result = num < 10 ? '0' + num : num;
alert ( result) ;
3.switch语句
3.1switch语句
switch语句也是多分支语句,也可以实现多选1 ,当要针对变量设置一系列的特定值的选项时,就可以使用switch; 语法结构
switch ( 表达式) {
case value1:
执行语句1 ;
break ;
case value2:
执行语句2 ;
break ;
...
default :
执行最后的语句;
}
执行思路,利用我们表达式的值和case后面的选项值匹配,如果匹配上,就执行该case里面的语句,如果都匹配不上,那么执行default里面的语句; 查询水果案例
var fruit = prompt ( '请输入您查询的水果:' ) ;
switch ( fruit) {
case '苹果' :
alert ( '苹果2块5一斤' ) ;
break ;
case '西瓜' :
alert ( '西瓜1块钱一斤' ) ;
break ;
case '葡萄' :
alert ( '葡萄3块5一斤' ) ;
break ;
case '香蕉' :
alert ( '香蕉1块1根' ) ;
default :
alert ( '抱歉,没有您要的水果' ) ;
}
补充:
开发时,表达式里面我们经常写成变量; 表达式里变量的值和case里面的值相匹配时,必须要全等,值和数据类型一样,才可以执行; 如果当前的case里面没有break,则不会退出switch,继续执行下一个case;
3.2switch和if else的区别
判断的值是确切的几种值的时候,建议使用switch判断; 判断的内容是一个范围的时候,建议使用if判断; 在开发中,90%以上都是使用if判断,很少使用switch判断