6 JavaScript条件判断
6 条件判断
除了HTML以外. 几乎所有的编程语言都有条件判断的功能. 比如, python, 我们用if语句来做条件判断. 到了javascript中也是一样的, 也使用javascript来做条件上的判断.
/* 语法1 */
if(条件1){
代码块1
}
if(条件)
a, b, c, d;
该语法表示当条件为真.运行if后面的第一句话(;)
// 解读: 当`条件1`成立时, 执行代`码块1`中的内容, 如果`条件1`不成立. 则不执行该`代码块1`中的内容
// 注, 如果代`码块1`中的内容只有一行. 则可以省略外面的大括号(一些逆向工程里会有)
/* 语法2 */
if(条件1){
代码块1
} else {
代码块2
}
// 解读: 当`条件1`成立时, 执行`代码块1`中的内容, 如果`条件1`不成立. 则执行`代码块2`中的内容
/* 语法3 */
if(条件1){
代码块1
} else if(条件2) {
代码块2
} else if(条件3) {
代码块3
} ... {
代码块n
} else {
代码块else
}
// 解读: 当`条件1`成立时, 执行`代码块1`中的内容, 如果`条件2`不成立. 则执行`代码块2`中的内容...如果都不成立, 最终执行`代码块else`中的内容.
/* 语法4:switch语句. 该语句是python中不存在的. 但是在Java和C, 以及JS中依然会有使用 */
switch(变量){
case 值1:
代码块1
break // 可选
case 值2:
代码块2
break // 可选
case 值3:
代码块3
break // 可选
default: // 可选
default代码块
}
/*
解读:
执行时,switch会判断变量的值是否是`值1`,如果是,则执行代码块1以及代码块1中的break,如果不是,则继续判断`值2`...。如果前面的`值`都没有和`变量`相等的,则执行`default代码块`。
注意:每一个`case`中都可以选择`break`,也可以不选择`break`,需要注意的是, 如果不写`break`。那么就会形成`case穿透`现象。
例:`变量`的值如果和`值1` 相等。并且case1中没有写`break`,则在执行的时候。会执行完`case1`中的代码。然后会自动穿透到`case2`中去执行里面的代码,而不经过case2中的数据的验证。
*/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>条件判断</title>
</head>
<body>
<script src = "条件判断.js"></script>
</body>
</html>
a = 1
b = 1
c = 3
if (a > 1) {
console.log(a);
}else {
console.log(b);
}
if (a + b > 2){
console.log('A');
} else if (a + b < 2) {
console.log('B');
} else {
console.log('C');
}
d = 2;
switch (d) {
case 1:
console.log('one');
break; // 如果不写`break`. 那么就会形成`case穿透`现象
case 2:
console.log('two');
break;
case 3:
console.log('three');
break;
default: // 如果前面的`值`都没有和`变量`相等的.则执行`default代码块`
console.log('error');
}
代码效果图如下:

a = 4
b = 1
c = 3
if (a > 1) {
console.log(a)
}else {
console.log(b)
}
if (a + b > 2){
console.log('A');
} else if (a + b < 2) {
console.log('B');
} else {
console.log('C');
}
d = 2;
switch (d) {
case 1:
console.log('one');
// break; // 如果不写`break`. 那么就会形成`case穿透`现象
case 2:
console.log('two');
// break;
case 3:
console.log('three');
break;
default: // 如果前面的`值`都没有和`变量`相等的.则执行`default代码块`
console.log('error');
}
代码效果图如下:

6 JavaScript条件判断的更多相关文章
- JavaScript 条件判断算法综合实战
在赌场21点游戏中,玩家可以通过计算牌桌上已经发放的卡牌的高低值来让自己在游戏中保持优势,这就叫21点算法. 根据下面的表格,每张卡牌都分配了一个值.如果卡牌的值大于0,那么玩家应该追加赌注.反之,追 ...
- (6)javascript的程序控制结构及语句-----(1)条件判断
程序控制结构及语句 编程就是将现实应用,转换为程序能够读得懂的语法语句.Javascript编程中对程序流程控制主要是通过条件判断语句.循环控制语句及continue.break来完成的,其中条件判断 ...
- 前端笔记知识点整合之JavaScript(三)关于条件判断语句、循环语句那点事
一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力 ...
- JavaScript 基础(三) 对象 条件判断
JavaScript的对象是一种无序的集合数据类型,它是由若干键对组成. var guagua = { name:'瓜瓜', birth:1988, school:'No.1 Middle Schoo ...
- JavaScript的运算符、条件判断、循环、类型转换(9.25 第十一天)
JS的运算符 加 + 减 - 乘 * 除 / 取余 % 自增 ++ 自减 -- 赋值运算符 a=3 a+=3 a=a=3 a-=3 a=a-3 a*=3 a=a*2 a/=3 a=a/3 ...
- 前端笔记之JavaScript(三)关于条件判断语句、循环语句那点事
一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力语法 ...
- javascript「篱式」条件判断
我们已经知道,null 没有任何的属性值,并且无法获取其实体(existence)值.所以 null.property 返回的是错误(error)而不是 undefined . 考虑下面的代码 if ...
- js条件判断时隐式类型转换
Javascript 中,数字 0 为假,非0 均为真 在条件判断运算 == 中的转换规则是这样的: 如果比较的两者中有布尔值(Boolean),会把 Boolean 先转换为对应的 Number,即 ...
- 为什么说在使用多条件判断时switch case语句比if语句效率高?
在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...
- 关于JavaScript的判断语句(2)
上一篇描述的都是一些通过条件判断来执行,符合条件下面的代码块,达到对动作的反应效果 这篇将描述的是for. for/in. while. do/while循环语句. for语句: for(i=0,i& ...
随机推荐
- 【Android逆向】滚动的天空中插入smali日志
1. 编写一个MyLog.java 放到一个android工程下,编译打包,然后反编译拿到MyLog的smali代码 package com.example.logapplication; impor ...
- go语言编程常见问题
在Goland中运行单元测试报错Error: Cannot find package 如下图,在Goland中运行单元测试时报错:"Error: Cannot find package&qu ...
- 麒麟系统开发笔记(八):在国产麒麟系统上使用linuxdeployqt发布qt程序
前言 在ubuntu上发布qt程序相对还好,使用脚本,但是在麒麟上发布的时候,因为银河麒麟等不同版本,使用脚本就不太兼容,同时为了实现直接点击应用可以启动应用的效果,使用linuxdeployqt ...
- 【Filament】Filament环境搭建
1 前言 Filament 是一个实时物理渲染引擎,用于 Android.iOS.Linux.macOS.Windows 和 WebGL 平台.该引擎旨在提供高效.实时的图形渲染,并被设计为在 A ...
- 详细的BoltDB学习记录文档
最近项目中用到了boltdb这个go开发的key/value 数据库,但是之前并有接触过,所以特意去看了官方,也找了些资料,网上找的资料要不就是官方文档的翻译,要不就是简单的介绍一点,都不是很全,所以 ...
- 【Azure Storage Account Table】询问批量将存储账户中的表嵌入另一个账户中的办法
问题描述 询问批量将存储账户中的表嵌入另一个账户中的办法? 问题解答 方式一:使用 AzCopy 使用Az copy做表格的导入导出,注意您需要使用Azcopy 7.3版本来实现对Table的操作,可 ...
- 【Azure API 管理】是否可以将Swagger 的API定义导入导Azure API Management中
问题描述 是否可以将Swagger 的API定义导入导Azure API Management中? 操作步骤 是的,可以通过APIM门户导入单个的API Swagger定义文件.具体步骤如下: 第一步 ...
- 磁盘 U盘找不到
及磁盘找不到了, 第一步: 看排线是否插好,稳当 第二步:在磁盘管理下面,磁盘是否还在,如果磁盘显示在,只是没有磁盘符 第三步:diskpart ,进入磁盘 其他的命令自己 查询 第四步:进入 CM ...
- 将Abp移植进.NET MAUI项目(二):配置与基类编写
因为我们要做一个数据持久化型的小应用,所以在完成Abp功能的集成后,我们需要做数据库相关的配置工作 配置数据库 在MauiBoilerplate.Core项目中,添加两个实体类: 我们简单的写一个 ...
- SSRF概述
SSRF(service side request forgery) 1.攻击的目标: 从外网无法访问的内部系统 2.形成的原因: 大部分是由服务器端提供了从其他服务器应用获取数据的功能.且没有对目标 ...