学习JS的第三天
一、逻辑分支(续)
1、三目运算符:条件运算符
a>b?c:d;表达式1?表达式2:表达式3;
根据表达式1执行的结果,来决定执行表达式2还是表达式3
表达式1结果是true执行表达式2,最终返回表达式2的结果
表达式1结果是false执行表达式3,最终返回表达式3的结果
2、Switch/case
语法:
switch(表达式){
case 表达式1:分支语句一;
break;
case 表达式2:分支语句二;break;
case 表达式3:分支语句三;break;
…
case 表达式n:分支语句n;break;
default:默认分支语句;break;
}
规范:
1.所有的括号成对输入
2.所有的双引号成对输入
3.一句话占一行(不用多句话写在一行)
4.花括号单独占一行
5.缩进对齐:
a)同级对齐
b)子一级比上一级缩进4个空格
注意点:
1.if后面的()不能省略,()后面不要加分号
2.if分支中即使一句话也要把{}写上(一行代码3块钱)
3.if嵌套不要超过五层(最好不要超过3层)
4.Switch语句里把default分支一定要写上,防止在以后的维护中产生歧义(default:相当于if else最后的else)
把执行概率更大(正常情况)放在前面(if,case)
5.if else 和 switch用谁?
判断范围用if else ,等值一般用switch;
一个简单的成绩等级划分
1 var score =100;
2
3 switch(parseInt(score/10)){
4
5 case 10:
6
7 case 9:
8
9 console.log("A");
10
11 break;
12
13 case 8:
14
15 console.log("B");
16
17 break;
18
19 case 7:
20
21 console.log("C");
22
23 break;
24
25 case 6:
26
27 console.log("D");
28 break;
29
30 default :console.log("E");
31 }
二、循环
1、while /do while
/*
while条件表达式()
循环体;
*/
1、条件表达式是一个boolean值,为true则执行循环体,为false则跳出,并且只能修饰一条语句;
2、执行顺序,先条件,再语句;
3、一个有限次的循环,必须有一个使循环趋近于结束的条件,
4、死循环是好还是坏??看情况(输入密码账号错误的时候)
while 练习:
//小于100的数的和
1 var sum = 0;
2 var i = 1;
3
4 while (i <= 100) {
5 sum += i;
6 i++;
7 }
8
9 console.log(i,sum);
//入职薪水10K,每年涨幅5%,50年后工资多少?
1 var salary = 10000;
2 var i = 1;
3
4 while(i<=50){
5 salary *= 1+0.05;
6 i++;
7 }
8
9 console.log(salary);
//打印100以内7的倍数
1 var i = 1;
2
3 while(i<=100){
4 if(i%7==0){
5 console.log(i);
6 }
7 i++;
8 }
9
//打印100以内的奇数
1 var i = 1;
2
3 while(i <= 100){
4 if(i%2){ //1 == true
5 console.log(i);
6 }
7 i++;
8 }
2、do while
***结构***
do{
循环体;
}while(条件表达式);
while和do while的区别和不同
while与do while唯一的区别
执行顺序不同
do...while先语句在条件
while 先条件在语句
do...while与while 异同
当首次条件成立时,这俩没区别
当首次条件不成立时,do...while执行一次循环体,while直接跳出
3、for
for(表达式1;表达式2;表达式3){1243243243...
表达式4
}
for(;;){} 绝对不能省略,除此之外表达式1234都能省略
表达式1:为循环变量赋初值
表达式2:条件
表达式3:使循环趋近于结束的条件
表达式4:循环体语句
1 var sum = 0;
2
3 for(var i=1; i <= 100;i++){
4 sum += i;
5 }
6
7 console.log(i, sum);
学习JS的第三天的更多相关文章
- 一起学习造轮子(三):从零开始写一个React-Redux
本文是一起学习造轮子系列的第三篇,本篇我们将从零开始写一个React-Redux,本系列文章将会选取一些前端比较经典的轮子进行源码分析,并且从零开始逐步实现,本系列将会学习Promises/A+,Re ...
- ASP.NET MVC学习---(八)三个比较常用的方便的功能
通过之前的了解 现在我们已经可以使用mvc进行一些简单的开发 但是还不够 哪里不够呢? 为什么现在的程序员喜欢用mvc进行开发 不就是因为它爽吗? 之前介绍的那些特点仅仅是mvc框架的一小部分 只是一 ...
- 前端学习:JS(面向对象)代码笔记
前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- WCF学习之旅—第三个示例之二(二十八)
上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1) 使用NuGet下载最新版的Entity Fram ...
- WCF学习之旅—第三个示例之三(二十九)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...
- WCF学习之旅—第三个示例之五(三十一)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) WCF学习 ...
- 学习js回调函数
<!DOCTYPE HTML> <html> <head> <meta charset="GBK" /> <title> ...
- css学习归纳总结(三) 转
原文地址:css学习归纳总结(三) 为文档添加样式的三种方法 行内样式 行内样式是写在HTML标签的style属性里的,比如: <p style="font-size: 12px;fo ...
随机推荐
- 安卓模拟器genymotion安装
上一篇已经讲了appium的搭建.那么搭建好后,我们需要测试不同机型,这个时候除了真机外,可以选择安装模拟器.市面上的模拟器有很多:夜神.逍遥.mumu.android emulator.genymo ...
- 没想到 TCP 协议,还有这样的骚操作。。。
大家好,我是小林. 昨晚有位读者问了我这么个问题: 大概意思是,一个已经建立的 TCP 连接,客户端中途宕机了,而服务端此时也没有数据要发送,一直处于 establish 状态,客户端恢复后,向服务端 ...
- P7324-[WC2021]表达式求值【dp】
正题 题目链接:https://www.luogu.com.cn/problem/P7324 题目大意 给一个只包含\(m\)个值的表达式,\(<\)表前后取最小值,\(>\)表前后取最大 ...
- P5540-[BalkanOI2011]timeismoney|最小乘积生成树【最小生成树,凸壳】
正题 题目链接:https://www.luogu.com.cn/problem/P5540 题目大意 给出\(n\)个点\(m\)条边边权是一个二元组\((a_i,b_i)\),求出一棵生成树最小化 ...
- "错误: 找不到或无法加载主类"解决办法
前言:记上次一个找了个把小时的问题(很烦这些配置) 原因: 从svn下checkOut的项目 在application的配置的输出class路径为main,而class文件路径是在项目名的根路径下,所 ...
- 常见JS
1.获取当前月份第一天 var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; v ...
- 05-IdentityServer4
前面我们认识了jwt的token颁发模式,其中的应用场景和部分缺陷已经很是了解了.有些场合并不适合jwt,特别是针对第三方进行使用时,比如我们使用qq或者微信登陆博客园或其他第三方应用时. Ids4的 ...
- Go变量与基础数据类型
一.基础介绍 Go 是静态(编译型)语言,是区别于解释型语言的弱类型语言(静态:类型固定,强类型:不同类型不允许直接运算) 例如 python 就是动态强类型语言 1.Go 的特性: 跨平台的编译型语 ...
- mac上通过git推送时忽略node_modules文件夹
node_modules出现改动一般不需要通过git推送,如果不忽略node_modules每次安装新的包会出现几千条新变动,并没有必要推送 1.通过终端进入项目根目录 创建 .gitignore 文 ...
- Go的Select
Go 的通道有两种操作方式,一种是带 range 子句的 for 语句,另一种则是 select 语句,它是专门为了操作通道而存在的.这里主要介绍 select 的用法. 一.select的语法 se ...