一元换算符

字符串类型 对于字符串,来说自增或自减会自动进行类型转换

1.var str = '10' 自动转换 从string转为number

2.str++ NaN 对于转化不成功的string类型数据会变为NaN

3.关于布尔类型

1为true 0为false

number类型 非0和NaN就是true 自动进行转换

4.关于null类型

自动转换对应Boolean类型 然后再从Boolean转为Number

5.关于undefined

undefined转换不成功 NaN

6.关于Number类型
一元换算符只能和变量一起 不能出现其他的换算符
进行++ 或者 -- 不管++是前置还是后置都是先转换为number

比较运算符(关系运算符)

比较运算符 == 返回的都是boolean类型 要么是true 要么是false

console.log(typeof null)//object

console.log(typeof undefined) //undefined

>大于 小于<

boolean 自动转换 true对应1 number类型转布尔类型

null不会自动转为boolean类型 undefined也不会自动转换布尔类型

==比较的是值
number比较 直接比较大小
number 和 Boolean比较 会把Boolean转为number再比(0,1)
如果number类型和字符串类型比较 如果字符串里面存储的是数值 那么对应的就是数值比较
如果对应的字符串里面存储的是字符串 会自动转为number类型 转不了就是NaN(NaN和任何比都是false)

console.log('a'>1) // NaN //false

字符串跟字符串比较 比较的是ascii码 一套固定的编码 每个字母都有一个对应的编码值(区分大小写)
//a 97 //A 65 //0 48

console.log('a'>'b') //false

console.log('a'>'B') //true

>= <= 只要满足一个就是true
恒等 === 比较值还要比较地址 == 只是比较值
NaN 特性 不能进行比较 返回结果false

逻辑运算符

与 && 同true则为true 其他都是false
& 断路与 (效率低,不用)

console.log('A'<'a' && 2>1) // true

console.log('A'<'a' && 2<1) // false

或 || 一个为 true 就是true
| 断路或 (效率低,不用)

console.log('A'<'a' || 2<1) // true

console.log('a'>'b' || 1>2) // false

非 ! true变false false变true

console.log( ! ('a'<'b') ) ;//false

console.log( ! ('a'>'b') ); //true

//undefined转为number 为NaN
//undefined值 不需要转换 != ===
var num1 , num2=10
console.log(num1!=num2 && num1<num2); // false
console.log(num1!=num2 || num1<num2);//true

三元运算符 三目运算符

布尔类型表达式 ? true的结果:false的结果
console.log(!0?10:20); //10
console.log(1!=1?10:20) // 20 var num = 'a'>'B'?12+'3':45/2
console.log(num); //123
console.log(typeof num); //string

分支结构

浏览器的解析结构顺序为 从上到下 从左之右

分支结构 多个分支 进行其中一个
if(布尔类型表达式){
分支一
}else{
不满足上述条件进入的分支
}
一旦进行其中一个分支就不会再进行下一个
分支块里面执行的语句只有第一句

switch

switch属于分支结果

if里面的表达式为布尔类型 Boolean表达式

switch的值表达式 有确定的值
switch case 一起使用

switch(值表达式){

​ case 值1:

​ case 值2:

​ case 值3:

​ default:默认的

}

break 跳出这个switch块
当不存在break时 会从匹配的选项走到底
当上面的case都不匹配值表达式就会进入default选项
switch支持任意类型的值 就NaN不支持

JavaScript 02 运算符,分支结构的更多相关文章

  1. JavaScript中的分支结构

    说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的.程序=数据+算法通常我们所说的算法都可以通过"顺序","分支& ...

  2. C阶段【02】 - 分支结构

    知识重点: BOOL布尔类型 关系运算符 逻辑运算符 if语句 枚举类型 switch语句 一.BOOL布尔类型 用来存储“真”或者“假”,变了只有YES和NO两个值.YES(1)表示表达式结果为真, ...

  3. java 基础 03 运算符 分支结构 循环结构

    今天内容: (1)运算符 (2)分支结构 (3)循环结构 1运算符 1.1赋值运算符 (1)简单赋值 = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量来覆盖原来的数值. 笔试题: ia == ...

  4. JavaScript知识点:分支结构(if、switch)+算法例题

    if-else分支 1.if条件应该是boolean类型的值或表达式 2.如果条件不是Boolean,会进行自动转换 以下几种情况会默认转换为 false: if(0).if(0.0) if(NaN) ...

  5. HTML-JS基础 变量与输入输出 运算符 分支结构

    js中的变量 1.JS中变量声明的写法: var num=10;//使用var声明的变量属于局部变量只在当前作用域内有效 num=10;//不用var声明的变量,默认为全局变量,在整个JS文件中都有效 ...

  6. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...

  7. JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构

    JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...

  8. java 基础 02 数据类型、运算符、分支结构

    内容: (1)数据类型 (2)运算符 (3)分支结构 1.数据类型 java语言中的基本数据类型:byte.short.int.long.float.double.boolean.char. 1.1布 ...

  9. java学习(四)修饰符、运算符、循环结构、分支结构

    修饰符 一般是放在定义类,方法,变量的最前端 访问控制修饰符 修饰符 当前类 同一包内 子孙类 其他包 public Y Y Y Y protected Y Y Y N default Y Y N N ...

随机推荐

  1. Mapper代理方式

    MyBatis入门初体验时,使用mapper的方式: 很奇怪,为什么只有interface二没有实现,怎么就可以从数据库中查出准确的数据.其实Mybatis利用了JDK动态代理实现了相应功能,下面详细 ...

  2. Dapr 中文社区汇总

    Dapr 于 2019 年在微软创建.随着时间的推移,许多社区成员加入该项目并做出贡献,扩展并帮助它在 2021 年 2 月达到了稳定的 1.0 版本.2021年3 月提交给 CNCF,在2021年1 ...

  3. Android蓝牙扫码连接时,防止Activity重启

    集成了一个蓝牙的扫码枪,发现每次连接时,应用的当前Activity会销毁再次创建.调试了下, 没有监听到任何的事件,非常困惑.搜了一阵了解到是Android的一个机制. 某些设备配置可能会在运行时发生 ...

  4. linux下用crunch工具生成密码

    crunch是一款linux下的压缩后仅仅38k的小程序,crunch程序在2004年及以前由email为的作者编写mimayin@aciiid.ath.cx,后续版本由bofh28@gmail.co ...

  5. 现在的BI软件是不是很贵?

    目前一个企业光有现在狭义的拖拉拽自助 BI 够用吗?那明显是不够的!那么企业应该需要什么样的BI系统? 一个很多企业真正需要的 BI 解决方案一般有一下几类: 1.数据呈现 这是最关键也最基本的功能, ...

  6. 思迈特软件与明略科技优势互补强强联合,快速迭代引领BI市场

    从全球范围看,自从上世纪80年代信息技术在企业应用中开始普及,至今一共经历了信息化.SaaS化.移动化和AI化四个阶段. 人工智能在中国发展的机遇和挑战 中国的AI创业公司之间竞争非常激烈,尤其表现在 ...

  7. 为什么在数据驱动的路上,AB 实验值得信赖?

    在线AB实验成为当今互联网公司中必不可少的数据驱动的工具,很多公司把自己的应用来做一次AB实验作为数据驱动的试金石. 文 | 松宝 来自 字节跳动数据平台团队增长平台 在线AB实验成为当今互联网公司中 ...

  8. 【C# .Net GC】开篇

    前言 自从.NET Core 3.0开始对根据自己具体的应用场景去配置GC ,让GC 发挥最好的作用..NET 5 改动更大,而且.NET 5整体性能比.net core 3.1高20%,并且在GC这 ...

  9. C# 重载运算符--不合理设计,只支持静态

    什么叫做重载运算符 比如:int x=1; int y=2; int total=x+y; 我们比较喜欢看上面这种写法,而不是这种, int x=1; int y=1; int total=int.a ...

  10. 多个n维向量围成的n维体积的大小

    前言 上周我们数学老师给了我们一道题,大意就是两个向量a和b,一个点M=$x*a+y*b$,x,y有范围,然后所有M组成的面积是一个定值,求x+y的最小值.当然这是道小水题,但我在想,如果把两个向量变 ...