一元换算符

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

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. Solution -「ARC 101E」「AT 4352」Ribbons on Tree

    \(\mathcal{Description}\)   Link.   给定一棵 \(n\) 个点的树,其中 \(2|n\),你需要把这些点两两配对,并把每对点间的路径染色.求使得所有边被染色的方案数 ...

  2. MySQL安装,使用问题汇总

    一,安装问题 mysqld install时出现:The service already exists! 报错原因:以前机器上装过mysql没有卸载干净 解决方案: C:\windows\system ...

  3. 都 2022 了,还不抓紧学 typeScript ?

    Hi,我是前端人,今日与君共勉! 本篇文章主要介绍的是什么是 typeScript ? typeScript 与 javaScript 有什么关系呢?我们为什么要学习 typeScript ? 一.什 ...

  4. Python+selenium自动循环扔QQ邮箱漂流瓶

    Python代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...

  5. 02.Oracle之安装与配置

    1.Oracle简介 Oracle是世界上最早的商品化的关系型数据库管理系统,是数据库专业厂商ORACLE(中文名字叫甲骨文)公司开发的,也是当前应用最为广泛.功能最强大.具有面向对象特点.采用了客户 ...

  6. Python中模块调用说明

    1 import test # 导入test模块 2 3 print(test.a) # 使用"模块.变量"调用模块中的变量 4 5 test.hi() # 使用"模块. ...

  7. python-利用random模块生成测试数据封装方法总结

    1.前言: 在测试中经常有需要用到参数化,我们可以用random模块,faker模块生成测试数据,也可以用到pymysql,此文主要针对random模块生成任意个数的随机整数,随机字符串,随机手机号, ...

  8. TensorFlow 关闭日志打印

    ubuntu 中打开命令行,执行如下指令 vim ~/.bashrc 进入配置文件后在文件末尾加上: export TF_CPP_MIN_LOG_LEVEL=2 保存退出,再使用下面命令使刚才修改的配 ...

  9. [theHunterCOTW] 猎人荒野的召唤-一点资料

    游戏介绍 购买建议 [2020-12-17] theHunter 现在有三个捆绑包 2019 Edition,2021 Edition,Complete Collection 单独购买,目前steam ...

  10. Install VMware Tools in CentOS 7 command line mode

    1.首先启动CentOS 7,在VMware中点击上方"VM",点击"Install VMware Tools..."(如已安装则显示"Reinsta ...