1、短路问题 (重点扩展)
当true 遇到 || ,|| 后面的表达式不执行
当 false 遇到 &&,&&后面的 表达式不执行
2、运算符的优先级
() 单目++ – ! 算术 关系 逻辑 条件 赋值
赋值运算符是所有运算符中最低的
变量 = 表达式 将表达式的值赋值给变量
3、类型转换
自动转换:
在进行算术运算或关系运算,纯数字字符串会自动转成数值
在进行算术运算时,null 会自动转换成0,undefined会自动转成NaN
关于NaN :
NaN 的类型是number typeof NaN 结果是number
NaN 不等于任何数 包括自己 NaN == NaN 结果是false
强制转换:
parseInt() 强制将某个字符串或数值转成 整数 ,不能转换的结果是NaN
parseFloat() 强制将某个字符串或数值转成 小数 ,不能转换的结果是NaN
Number() 强制将某个类型转成数值,不能转换的结果是NaN
Boolean() 强制将某个类型转成布尔值
toString() 将某个类型转成字符串
toString(2或8或16)将十进制进行类型转换 转成 2 或 8 或 16进制
扩展方法 :
isNaN() 判断非数字 如果括号中是非数字,结果为true 否则为false
eval() 将某个字符串转成表达式 并得到表达式的值
4、程序的三大结构(重点)
顺序 : 程序从上到下 按照顺序执行
选择: 按照某个条件执行某点代码
循环: 反复执行某段代码
5、选择结构 (出口只有一个)(重点)
单分支: 一个条件
控制语句 :
if( 表达式 ){
语句1
}else{
语句2
}
说明 :
表达式一般关系表达式
执行 : 如果表达式为真,就执行语句1,否则就执行语句2
多分支 : 多个条件
//定义一个变量表示年份,判断是否是闰年
var year = 2009;
if( ( year % 4 == 0 $$ year % 100 !=0 ) || year %400 ==0 ){
alert("今年是闰年")
}else{
alert("今年是平年")
}
//成绩等级
//80以上优秀 70-80良好 60-70中 60以下不及格
var score = 38;
if ( score >= 80 ){
alert("优秀")
}else if( score >= 70){
alert("良好")
}else if ( score >=60){
alert("中")
}else{
alert("不及格")
}
说明 :
1、else 可以省略
2、if 或 else后面如果有一条语句 {} 可以省略 (不建议)
3、else 后面没有条件
if语句的嵌套:
if(){
if(){
}
}else{
if(){
}
}
6、多分支语句 switch (开关语句)(重点)
控制语句 :
switch( 表达式 ){
case 常量表达式 : 语句1;
case 常量表达式 : 语句2;
...
default : 语句n;
}
说明 :
a、表达式一般为一个变量 有具体的值
b、执行逻辑 : 用表达式和case后面的表达式做比较 有相等的 就执行
c、switch 比较时是 全等比较
d、default 可以省略
e、case语句后面没有break 会实现 穿透 case穿透 ,使用break阻止case穿透
f、default语句的位置任意 可以提前
7、if多分和switch多分支的使用场景
当 条件 是一个范围时 建议用if
当 条件 是一个具体的值 建议使用 switch
程序的编写规范 :
a、每条语句结束后 可以使用分号 或 回车符 建议使用分号
b、每条语句 独占一行
c、被嵌套的代码 必须有缩进
d、所有的标点符号都是英文
e、代码严格区分大小写