运算符

1.拼接运算符:+,加号两边只要有一边出现字符串就是拼接

2.算术运算符  如:2+3;

3.赋值运算符+=,-=,/=,*=

4.关系运算符>,<,==,=== != !== !=== ==会自动做隐式转换,只要值一样即可 ===值和类型都要相等 如果已知两边类型就用===效率高于==

5.逻辑运算符: 与 & 找假 或 || 找真 非! 取反 && || 被称为短路运算符

关系运算符

出现NaN 一般都是false

console.log(NaN==NaN);//false

字符串和数值进行比较(字符串会自动转为数值)

console.log('123'>213);//false 自动转为number
console.log('123A'>213);//false 自动转为number如果不能转就会出现NaN

undefined是null的派生所以对应的值是相等的

//undefined(null的派生子类) 和 null
console.log(undefined==null);//true  ==表示相等  指俩个东西内容相同
console.log(undefined===null);//false  ===表示恒等 指俩个是同一个东西

字符串和字符串进行比较 (字符串将转换为ASCII码再进行比较)

//字符串和字符串比较(ASCII码 A 65 a 96 自动进行ASCII码的比较 比较第一位的 第一位相同再比较下一位...)

ASCII码:
0-9:48-57
a-z:97-122
A-Z:65-90

console.log('a'>'b');//false
console.log('a'<'b');//true
console.log('bAA'<'azz');//false

console.log('bAA'<'bzz');//ture

布尔类型的值和null进行比较(自动转数值      出现NaN是false)

console.log(true>null);//true
console.log(true>undefined);//false

布尔类型的值与数值的比较(先转为同一类再比较)

console.log(Number(true)==1); //true
console.log(Number(true)===1); //true
console.log(Boolean(0)===false); //true

null值及undefined跟0进行比较

//undefined和0进行比较
console.log(undefined == 0);//NaN false
//null是空对象引用 对应的是一个引用类型 引用类型比较的是地址 null和0进行比较
console.log(null == 0); //false

·

逻辑运算符

 //逻辑运算符 && 短路与 &断路与 ||短路 或 |断路或!
    //&& 所有的同时满足才为真 && 只要前面有一个是假后面的就不会看了 &看完全部
    var a = 10
    var b = 20
    var c = 30
    // 只要前面有一个是假后面的就不会看了 所以只看了a>b fales
    console.log(a > b && b > c); //fales
    // 同为真则一直往下看,取最后一个真
    console.log(a < b && b < c); //true
    console.log(10 && 20) //20
    // ||有一个是true就是true  前面只要出现了ture 就不看后面的  |看完全部
    console.log(a < c || a > b); //ture
    console.log(10 || 20); //10
    console.log(a > b || a > c); //flaes
    //如果俩个都是false 取最后一个
    console.log(0 || null); //null
    //! 取反
    console.log(!c > b || a > b); //flase
    console.log(!(c > b && a > b)); //ture

三大流程语句

顺序语句:

从上到下执行,从左到右执行,而"="改变顺序

分支语句:

1.单分支: if(表达式){

逻辑代码

}

2.双分支 if(表达式){

逻辑代码

}  else{

逻辑代码

}

多分支

if(表达式){

}else if(表达式){

}else if(表达式){

}else{

}

switch 多分支 (恒等于)switch的比较属于恒等于 值和类型都要一致

switch (表达式) {

case 条件1:

你的逻辑代码

break; //终止,中断, 防止穿透

default:
        console.log('');//当上面都不满足的情况下才执行默认的操作
}

总结

if else else if 里面的代码只有一行可以省略{}
if 后面不一定要带else或者else if
if里面的表达式如果不是对应的boolean的表达式 他会强制转换为boolean类型(自动转换)
else 一定的是最后的 而且他是不带条件的
if 里面可以嵌套if 以及相关的内容(else else if都可以嵌套的)
switch 里面填写的表达式是会返回值 这个值一般是常量
switch里面有case和对应的default case表示一个个的选项 对应的default表示默认选项
多个case可以在一行书写 表示对应的处理语句是一个
break用于跳出整个代码块
跳出switch (也可以跳出循环的代码块)
switch必须要有规定的值的时候才用 他不会使用到有区间的内容(比对是恒等比对)
if 是可以使用区间值 也可以使用固定值
if效率和switch效率 从一行代码区分对应的来说 if效率会高点 多行代码区分 switch效率会高(用
空间换时间)

js运算符和逻辑分支的更多相关文章

  1. js值类型转换(boolean/String/number),js运算符,if条件,循环结构,函数,三种弹出框

    js值类型转换 number | string | boolean boolean类型转换 num = 0; var b1 = Boolean(num); console.log(b1) 转化为数字类 ...

  2. JS运算符,流程控制,函数,内置对象,BOM与DOM

    运算符 1.算数运算符 运算符 描述 + 加 - 减 * 乘 / 除 % 取余(保留整数) ++ 递加 - - 递减 ** 幂 var x=10; var res1=x++; '先赋值后自增1' 10 ...

  3. JS运算符

    JS运算符: 使用的运算符的时候不需要声明变量,运算符非变量:1.算术运算符 + - * / % (%为取余数运算符) (自增运算符++) (自减运算符 --) + 运算符作用:1.数值相加 2.字符 ...

  4. js 运算符优先级

    在看jquery源码,仔细看入口函数的时候,有点懵了.看到与或.多重三目,傻傻的分不清,就代码仔细的区分下运算符优先级,以前都是呼呼的飘过.看来任何一个细节都不能忽略,不然效率极低.. !functi ...

  5. js 运算符的执行顺序

    js 运算符的执行顺序 js 运算符优先级 Operator Precedence 下表从最高(21)到最低(1)优先顺序排列 left-to-right 从左到右 / 先左后右 right-to-l ...

  6. js运算符(运算符的结合性)

    1.javascript具有下列种类的运算符:算术运算符;逻辑运算符;比较运算符; 2.目的分类:字符串运算符;逻辑运算符;逐位运算符;赋值运算符; 3.特殊运算符:条件运算符;typeof运算符;创 ...

  7. js运算符单竖杠“|”的用法和作用及js数据处理

    js运算符单竖杠“|”的作用 很多朋友都对双竖杠“||”,了如指掌,因为这个经常用到.但是大家知道单竖杠吗?今天有个网友QQ问我,我的 javascript实用技巧,js小知识 , 这篇文章里面,js ...

  8. js运算符的一些特殊应用

    作者: 小文 来源: http://www.cnblogs.com/daysme/ 时间: 2017/3/2 17:21:03 本文集合了了js运算符的一些特殊应用. js位运行符的运用. js运算符 ...

  9. js中的逻辑与(&&)与逻辑或(||)

    var foo = 1; var bar = 0; var tar = false; var baz = 2; 一.js中的逻辑与(&&) 1.当第一个数为true时,返回第二个数: ...

随机推荐

  1. 1.3温度转换(中国大学Mooc-Python 语言程序设计)

    温度转换 温度刻画的两种不同体系 1.摄氏度:(中国等世界大多数国家使用) 以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画  2.华氏度:(美国.英国等国家使用) 以1标准大气压 ...

  2. 【转】理解 CI 和 CD 之间的区别

    有很多关于持续集成(CI)和持续交付(CD)的资料.很多文章用技术术语来进行解释,以及它们怎么帮助你的组织.可惜的是,在一些情况下,这些方法通常与特定工具.甚至供应商相关联.在公司食堂里非常常见的谈话 ...

  3. C#中常用的目录|文件|路径信息操作

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年5月16日. 说明 .NET的类库API设计的非常优秀,再加上文档docs.com写的非常优秀,写代码给人一种十分优雅的感觉. 获得当 ...

  4. 2.2 追求并发的极致-线程概论 -《zobolの操作系统学习札记》

    2.2 追求并发的极致-线程概论 为了追求程序运行之间的并发性,计算机科学家们发明了进程.为了进一步的追求进程内部的并发性,工程师们又提出了线程. 正是线程的出现,给予了程序员更多地操纵OS的自由,可 ...

  5. Kubernetes-23:详解如何将CPU Manager做到游刃有余

    k8s中为什么要用CPU Manager? 默认情况下,kubelet 使用CFS配额来执行 Pod 的 CPU 约束.Kubernetes的Node节点会运行多个Pod,其中会有部分的Pod属于CP ...

  6. GitHub-SSH密钥获取

    SSH密钥 需要先安装git的客户端,下载: http://git-scm.com/download/ 使用下列步骤完成密钥的添加. 检查系统是否存在密钥 运行 Git Bash, 在弹出的终端中输入 ...

  7. MySQL-1-概念

    数据库相关概念 DB:数据库(database):存储数据的"仓库".它保存了一系列有组织的数据 DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 SQL: ...

  8. 【python量化】将Transformer模型用于股票价格预测

    本篇文章主要教大家如何搭建一个基于Transformer的简单预测模型,并将其用于股票价格预测当中.原代码在文末进行获取.小熊猫的python第二世界 1.Transformer模型 Transfor ...

  9. Rabbimtq消息传递对象

    对象序列化即可.

  10. Set集合转换为List集合

    举个栗子,看图: