一、逻辑分支(续)

  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. win10蓝牙鼠标无法连接,需pin码

    从控制面板进到"设备和打印机",点击"添加设备" 鼠标切换到匹配模式,就可以看到自己的鼠标了,点"下一步" 出现了一样的画面,是的,不用输P ...

  2. 深入浅出WPF-11.Template(模板)02

    模板 DataTemplate和ControlTemplate的关系 通过上面的内容,控件只是一个数据和行为的载体,是一个抽象的概念,至于它长什么样子,或者它的数据是怎么展示的,都是由模板生成的.决定 ...

  3. 解决联想R720双系统Ubuntu16.04的无线网卡开启问题及信号不稳定

    问题一:1.问题描述笔记本型号:Lenovo r720笔记本(i5-7300hq,gtx1060 maxq 6g),默认装入Win10系统,然而当装入Ubuntu16.04双系统时,会出现无线网卡(型 ...

  4. 吴恩达-神经网络-week1-hw3

    Ref:https://blog.csdn.net/u013733326/article/details/79702148 点击查看代码 from testCases import * from pl ...

  5. Oracle部署迁移手册

    第1章 安装准备 1.1 安装环境 操作系统:Redhat6.5 x64 32核CPU 62G内存 系统盘300G 数据磁盘3T Oracle软件:Oracle Database 11g Enterp ...

  6. 92仿<高频彩>源码带采集

    需要的联系QQ 肆伍以柒柒九八一

  7. 踩坑系列《一》数据库建表权限 CREATE command denied to user for table

    今天在表中用Navicat连接服务器上的mysql账号进行建表,报了个这样类似的错, CREATE command denied to user for table 是数据库权限设置的问题,所以无法进 ...

  8. 从零入门 Serverless | Knative 带来的极致 Serverless 体验

    作者 | 冬岛 阿里巴巴高级技术专家 Serverless 公众号后台回复"knative",即可免费下载<Knative 云原生应用开发指南>电子书! 导读:Serv ...

  9. 详解package-lock.json的作用

    目录 详解package-lock.json package-lock.json的作用 版本号的定义规则与前缀对安装的影响 改动package.json后依旧能改变项目依赖的版本 当前项目的真实版本号 ...

  10. 找出某名珍贵药材的生长区域(ArcPy实现)

    一.背景 某种珍贵药材生长于山区,通过研究了解到这种药材生长具有严格的生长条件.为了能更好地保护该药材的生长环境,现在需要使用GIS空间分析方法,将药材适合生长区域找出来,以便为该物种保护提供依据. ...