运算符表达式及相关控制语句

运算符

算数运算符:

+   -   *   /   %   ++   --

    1、除了加法的所有运算全部都会先转成number类型再进行运算,如果转换失败会出现NaN

    2、NaN与一个数值相加得到的还是NaN

    3、在加法运算中如果有一个值是字符串那么就会进行字符串拼接

    4、自增(++)和自减(--)的前置和后置:前置会先执行自增(++)或自减(--),再执行其他代码,后置会先执行其他代码,再执行自增(++)或自减(--)

    5、自增(++)和自减(--)不能放在()之前

    6、运算对应的顺序是先执行()号里面的内容,再执行++或者--操作和对应的*、/、%,再执行+、-操作

逻辑运算符:

&&(与)   ||(或)    !(非)

    1、&&: 两个都为true 取最后一个,有一个为false就取第一个false

    2、||: 有一个true就取第一个true,都为false就取最后一个false

    3、!: 取反,取相反的结果

比较运算符:

<   >   <=   >=   ==   ===   !=    !==

    1、当出现的是> <号时会自动进行相关的转换(number类型)

    2、对应比较的都是字符串那么会比较对应的ascii码(A 65, a 97)

    3、== 比较值 数值类型123和字符串123是相等的(NaN!=NaN)(undefined == null)

    4、=== 基于==之上 除了比较值还要比较类型 123!='123' (undefined !== null)

    5、当出现对应的! 对应的将原本的结果取反就可以了

赋值运算符:

=    +=    -=    *=     /=     %=

注意:赋值运算符在运算中是最后执行的操作

位移运算符:

<<       >>

位移运算符:进位补零,退位加零

表达式的概念:

    1、表达式是由对应的值(变量)和运算符构成的式子

    2、由对应的算法运算符组成的式子是算法表达式 (返回对应的结果)

    3、由对应的逻辑运算符组成的式子是逻辑表达式 (返回对应的值)

    4、由对应的比较运算符组成的式子是条件表达式 (返回Boolean类型的值)

三目运算符:

条件表达式?true的结果:false的结果

示例:

执行顺序:先算括号,再算*、/、%,再逻辑运算,再三目运算,最后赋值

控制语句:

    1、控制语句是对应程序的一个控制,分为条件控制语句和循环控制语句

    2、条件控件语句是根据对应的条件来执行对应的代码

    3、循环控制语句是根据对应的条件来执行多次重复的代码

条件控制语句:

常见的控制语句有:

    1、if  else(根据对应的boolean条件值来进行判断,如果传入的条件返回的不是boolean类型会转换为对应的boolean类型)

    2、switch  case(根据对应的值来进行比对,里面采用的是===(恒等)会自动进行比对)

单分支结构(if else):

if(条件表达式){

    对应满足条件执行的代码

}else{

    不满足条件执行的代码

}

多分支结构(else  if):

if(条件1){

满足条件执行的代码

}else if(条件二){

满足条件执行的代码

}...

else{

所有条件都不满足执行的代码

}

if  else的嵌套:if  else是允许多层嵌套的,一般我们的嵌套不会超过两层(超过两层嵌套并不建议写)

if(条件1){

    if(子条件1){

        满足子条件1执行的代码

    }else if(子条件2){

        满足子条件2执行的代码

    }else{

        不满足子条件执行的代码

    }

}else{

    不满足条件1执行的代码

}

if else的一些简化操作:

    1、当你的if块和或者else块只有一行代码的时候是可以省略{}的(一般不建议省略)

    2、每句代码的结束是可以有分号,可以没有分号的,但是一般建议加上;(后续我们需要减少对应的编写的文件的大小会把所有的js放在一行)

if(1>2)

    console.log('aaa')

else if(2>3)

    console.log('bbb')

else

    console.log('ccc')

switch case控制语句

    1、根据输入的值判断对应的执行的操作

    2、switch里面采用的是=== 类型必须相等,switch支持多个值,也支持嵌套

    3、在switch 如果没有break语句的时候,会从满足条件那句开始直到最后

    4、break 退出,当前这个switch不执行了

switch(值表达式){

    case 值1:

        执行的代码

        break;

    case 值2:

        执行的代码

        break;

    defulat:

        上面都不满足执行的代码

}

switch case嵌套示例:

//支持嵌套

switch(1){

    case 1:

        switch(2){

            case 2:

                console.log('我是2');

                break;

            default:

                console.log('hello');

            }

            break;

        default:

            console.log('default');

}

if else 和switch case的区别:

    1、if else 常用于区间判断,switch case用于值判断(枚举判断)。

    2、if else的效率低于switch case(用空间换时间),如果当前只有某个值的判断建议使用switch case。

总结:

    1、if else 是用于区间判断 ,switch case是用于值判断。

    2、switch case里面使用的判断是恒等判断 (支持所有类型的值)。

    3、if else和switch case都支持嵌套 (一般建议不要嵌套两层以上)。

    4、if else可以单独用。

    5、if else的多分枝采用 else if来实现,switch case里面的多分支采用多个case连用。

    6、if (else if 、else)后面的代码如果只有一行那么可以省略{},但是一般不建议省略。

    7、if else里面的条件表达式返回的是对应的boolean类型的值,如果当前的式子不是条件表达式会自动转换为boolean类型。

    8、if else的效率低于switch case(用空间换时间),如果当前只有某个值的判断建议使用switch(枚举 判断一般使用switch)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容