伊人怎会持宠而骄
希望有人懂你的低头不语、小心翼翼守护你的孩子气
运算符优先级
(  ) →  单目(++  --  !) → 算术 →  关系  →  逻辑  →  条件 → 赋值 =       
 
短路 现象(扩展)
当  true 遇到 ||  ,也就是  true || , || 右侧的表达式不执行  
当  false 遇到 &&  ,也就是   false && , && 右侧的表达式不执行
 
数据类型转换 
自动类型转换 (js代码运行时 进行的自动转换):
    在进行算术运算或关系运算时,纯数字字符串会自动转成 数值
    在进行算术运算时 , null 会自动转成0,undefined 会自动转成NaN
    null + 9 ---> 9    undefined + 9 ---> NaN
强制类型转换 :
    parseInt(  );  试图将某个字符串转成 整数 ,不能转换结果就是NaN   “3a”  "a3"-->NaN
    parseFloat(  ); 试图将某个字符串 转成  小数 ,不能正常转换的结果是 NaN
    字母开头的不能转为整数或小数,可以识别尾部的字母
    Number( ) ;  试图将某个类型转成 数值型  不能正常转换的结果是 NaN 
    true 为 1    false  为0   不能识别以字母开头或结尾
    Boolean()  试图将某个类型转成布尔值 
    toString() 将某个类型转成字符串  
    如果括号中 加2 或8 或 16  就进行 进制转换 
 
扩展方法 : 
isNaN()  判断非数字  
    如果括号中是非数字,结果为true,否则结果就是false, 
    如果括号中是纯数字字符串,会自动转成数字
 
eval( ) 尝试将某个字符串转成表达式,并得到表达式的值
    eval("2+3")或 var a = 10 ;  eval("a+3")
 
程序三大结构 :  顺序  选择  循环
顺序 : 程序从上到下 不会跳过任何一条语句 
选择 : 按照某个条件 选择性执行某段代码
循环 : 反复执行
 
选择结构 (出口只有一个
控制语句 (单分支语句  一个条件) : 
if(表达式){
    语句1;
}else{
    语句2;
}
说明 :
    这里表达式 一般为 关系表达式 
执行逻辑 : 
    如果表达式结果为真,就执行if语句,否则就执行else语句 
 
控制语句 (多分支语句  多个条件)
if( 表达式1 ){
 
}else if( 表达式2 ){
 
}else if( 表达式3 ){
    
}else{
 
}    
 
if总结的几个问题
1、if后面的语句如果只有一条, 花括号 可以省略的    不建议省略  else 后面也是同理
2、else 后面 一定没有表达式判断   else(){  } 错
3、else 是可以省略的    
 
switch  开关语句
语法结构 :
switch( 表达式 ){
    case 常量表达式 : 语句;
    case 常量表达式 :语句;
    ...    
    default :  语句;
}
说明 : 
    1、表达式 一般是一个变量 或一个式子 ,但必须有一个具体的值
    2、执行逻辑 : 用表达式的值和case后面的常量表达式做比较,如果有满足相等的case ,就自动执行该case及其后面的语句  这种现象叫做 case穿透
    3、解决case穿透 : 在case语句后面加一个 break 中断 
    4、default 可以省略
    5、switch 进行比较时 是全等比较  ===  先比较类型再比较值 
    6、default位置可以移动到case前面
 
switch嵌套
switch( 表达式 ){
    case 常量 : 
        switch(){
 
        }
}
 
switch和if的使用场景
当条件是具体的值是,建议使用switch
当条件是一个范围 , 建议使用 if else if()
posted on 2019-01-22 09:27  伊人怎会持宠而骄  阅读(161)  评论(0编辑  收藏  举报