一、逻辑分支(续)

  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的第三天的更多相关文章

  1. 一起学习造轮子(三):从零开始写一个React-Redux

    本文是一起学习造轮子系列的第三篇,本篇我们将从零开始写一个React-Redux,本系列文章将会选取一些前端比较经典的轮子进行源码分析,并且从零开始逐步实现,本系列将会学习Promises/A+,Re ...

  2. ASP.NET MVC学习---(八)三个比较常用的方便的功能

    通过之前的了解 现在我们已经可以使用mvc进行一些简单的开发 但是还不够 哪里不够呢? 为什么现在的程序员喜欢用mvc进行开发 不就是因为它爽吗? 之前介绍的那些特点仅仅是mvc框架的一小部分 只是一 ...

  3. 前端学习:JS(面向对象)代码笔记

    前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...

  4. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九)   ...

  5. WCF学习之旅—第三个示例之二(二十八)

    上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Fram ...

  6. WCF学习之旅—第三个示例之三(二十九)

    上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...

  7. WCF学习之旅—第三个示例之五(三十一)

       上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九) WCF学习 ...

  8. 学习js回调函数

    <!DOCTYPE HTML> <html> <head> <meta charset="GBK" /> <title> ...

  9. css学习归纳总结(三) 转

    原文地址:css学习归纳总结(三) 为文档添加样式的三种方法 行内样式 行内样式是写在HTML标签的style属性里的,比如: <p style="font-size: 12px;fo ...

随机推荐

  1. 安卓模拟器genymotion安装

    上一篇已经讲了appium的搭建.那么搭建好后,我们需要测试不同机型,这个时候除了真机外,可以选择安装模拟器.市面上的模拟器有很多:夜神.逍遥.mumu.android emulator.genymo ...

  2. 没想到 TCP 协议,还有这样的骚操作。。。

    大家好,我是小林. 昨晚有位读者问了我这么个问题: 大概意思是,一个已经建立的 TCP 连接,客户端中途宕机了,而服务端此时也没有数据要发送,一直处于 establish 状态,客户端恢复后,向服务端 ...

  3. P7324-[WC2021]表达式求值【dp】

    正题 题目链接:https://www.luogu.com.cn/problem/P7324 题目大意 给一个只包含\(m\)个值的表达式,\(<\)表前后取最小值,\(>\)表前后取最大 ...

  4. P5540-[BalkanOI2011]timeismoney|最小乘积生成树【最小生成树,凸壳】

    正题 题目链接:https://www.luogu.com.cn/problem/P5540 题目大意 给出\(n\)个点\(m\)条边边权是一个二元组\((a_i,b_i)\),求出一棵生成树最小化 ...

  5. "错误: 找不到或无法加载主类"解决办法

    前言:记上次一个找了个把小时的问题(很烦这些配置) 原因: 从svn下checkOut的项目 在application的配置的输出class路径为main,而class文件路径是在项目名的根路径下,所 ...

  6. 常见JS

    1.获取当前月份第一天 var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; v ...

  7. 05-IdentityServer4

    前面我们认识了jwt的token颁发模式,其中的应用场景和部分缺陷已经很是了解了.有些场合并不适合jwt,特别是针对第三方进行使用时,比如我们使用qq或者微信登陆博客园或其他第三方应用时. Ids4的 ...

  8. Go变量与基础数据类型

    一.基础介绍 Go 是静态(编译型)语言,是区别于解释型语言的弱类型语言(静态:类型固定,强类型:不同类型不允许直接运算) 例如 python 就是动态强类型语言 1.Go 的特性: 跨平台的编译型语 ...

  9. mac上通过git推送时忽略node_modules文件夹

    node_modules出现改动一般不需要通过git推送,如果不忽略node_modules每次安装新的包会出现几千条新变动,并没有必要推送 1.通过终端进入项目根目录 创建 .gitignore 文 ...

  10. Go的Select

    Go 的通道有两种操作方式,一种是带 range 子句的 for 语句,另一种则是 select 语句,它是专门为了操作通道而存在的.这里主要介绍 select 的用法. 一.select的语法 se ...