JavaScript 02 运算符,分支结构
一元换算符
字符串类型 对于字符串,来说自增或自减会自动进行类型转换
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 运算符,分支结构的更多相关文章
- JavaScript中的分支结构
说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的.程序=数据+算法通常我们所说的算法都可以通过"顺序","分支& ...
- C阶段【02】 - 分支结构
知识重点: BOOL布尔类型 关系运算符 逻辑运算符 if语句 枚举类型 switch语句 一.BOOL布尔类型 用来存储“真”或者“假”,变了只有YES和NO两个值.YES(1)表示表达式结果为真, ...
- java 基础 03 运算符 分支结构 循环结构
今天内容: (1)运算符 (2)分支结构 (3)循环结构 1运算符 1.1赋值运算符 (1)简单赋值 = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量来覆盖原来的数值. 笔试题: ia == ...
- JavaScript知识点:分支结构(if、switch)+算法例题
if-else分支 1.if条件应该是boolean类型的值或表达式 2.如果条件不是Boolean,会进行自动转换 以下几种情况会默认转换为 false: if(0).if(0.0) if(NaN) ...
- HTML-JS基础 变量与输入输出 运算符 分支结构
js中的变量 1.JS中变量声明的写法: var num=10;//使用var声明的变量属于局部变量只在当前作用域内有效 num=10;//不用var声明的变量,默认为全局变量,在整个JS文件中都有效 ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- java 基础 02 数据类型、运算符、分支结构
内容: (1)数据类型 (2)运算符 (3)分支结构 1.数据类型 java语言中的基本数据类型:byte.short.int.long.float.double.boolean.char. 1.1布 ...
- java学习(四)修饰符、运算符、循环结构、分支结构
修饰符 一般是放在定义类,方法,变量的最前端 访问控制修饰符 修饰符 当前类 同一包内 子孙类 其他包 public Y Y Y Y protected Y Y Y N default Y Y N N ...
随机推荐
- Solution -「ARC 101E」「AT 4352」Ribbons on Tree
\(\mathcal{Description}\) Link. 给定一棵 \(n\) 个点的树,其中 \(2|n\),你需要把这些点两两配对,并把每对点间的路径染色.求使得所有边被染色的方案数 ...
- MySQL安装,使用问题汇总
一,安装问题 mysqld install时出现:The service already exists! 报错原因:以前机器上装过mysql没有卸载干净 解决方案: C:\windows\system ...
- 都 2022 了,还不抓紧学 typeScript ?
Hi,我是前端人,今日与君共勉! 本篇文章主要介绍的是什么是 typeScript ? typeScript 与 javaScript 有什么关系呢?我们为什么要学习 typeScript ? 一.什 ...
- Python+selenium自动循环扔QQ邮箱漂流瓶
Python代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...
- 02.Oracle之安装与配置
1.Oracle简介 Oracle是世界上最早的商品化的关系型数据库管理系统,是数据库专业厂商ORACLE(中文名字叫甲骨文)公司开发的,也是当前应用最为广泛.功能最强大.具有面向对象特点.采用了客户 ...
- Python中模块调用说明
1 import test # 导入test模块 2 3 print(test.a) # 使用"模块.变量"调用模块中的变量 4 5 test.hi() # 使用"模块. ...
- python-利用random模块生成测试数据封装方法总结
1.前言: 在测试中经常有需要用到参数化,我们可以用random模块,faker模块生成测试数据,也可以用到pymysql,此文主要针对random模块生成任意个数的随机整数,随机字符串,随机手机号, ...
- TensorFlow 关闭日志打印
ubuntu 中打开命令行,执行如下指令 vim ~/.bashrc 进入配置文件后在文件末尾加上: export TF_CPP_MIN_LOG_LEVEL=2 保存退出,再使用下面命令使刚才修改的配 ...
- [theHunterCOTW] 猎人荒野的召唤-一点资料
游戏介绍 购买建议 [2020-12-17] theHunter 现在有三个捆绑包 2019 Edition,2021 Edition,Complete Collection 单独购买,目前steam ...
- Install VMware Tools in CentOS 7 command line mode
1.首先启动CentOS 7,在VMware中点击上方"VM",点击"Install VMware Tools..."(如已安装则显示"Reinsta ...