表达式语句: 一个表达式可以产生一个值,有可能是运算、函数调用 字面量 表达式可以放在任何需要值的地方。

  语句: 语句可以理解成一个行为,循环语句和判断语句就是典型的语句,一个程序有多个语句组成。

  流程控制的三种结构:  

    顺序结构: 从上到下依次执行
    分支结构: 根据不同的情况,执行对应的代码
    循环结构: 重复做一件事情

一、流程控制

1. if语法 

if 语句
if (条件表达式) {
执行语句;
}
if (条件表达式) {
成立执行语句;
} else {
否则执行语句;
}
if (条件表达式1) {
成立执行语句;
} else if (条件表达式2) {
成立执行语句2;
} else {
最后默认执行语句;
} 三元运算符
1. 表达式1 ? 表达式2 : 表达式3
var num1 = 13;
var num2 = 4;
console.log(num1 > num2 ? num1 : num2);

2. 分支结构switch

判断输入的表达式和值是否是相等 (这里判断的是三个等)
switch (表达式) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
...
case 常量n:
语句;
break:
defalut:
语句;
}

switch小案例

var day = 5;
switch (day) {
case '1':
console.log('Monday');
break
case '2':
console.log('Turseday');
break;
default:
console.log('What are you doing');
}

二、 循环结构

1. while 语法

1. 当循环条件为true 执行循环
2. 当循环条件为false 结束循环
while (循环条件) {
循环体
}
var i = 1;
while (i <= 100) {
console.log(i);
i++
}

do while 和while的区别
while: 先判断条件 在执行语句 如果条件满足就执行
do while: 先执行语句 在判断条件 条件满足执行语句1 否则执行2

2. do while语法

do {
循环体;
} while (循环条件);

do while案例

rompt 让用户交互输入的 相当于python里面的input
do {
var msg = prompt('你到底爱不爱我? ', '请输入yes/no');
} while (msg !== 'yes');
console.log('哈哈哈')

3. for 循环

for循环的表达式之间用;分号隔开
for (初始化表达式1; 条件表达式2; 自增表达式) {
循环体
}

while和do while 一般用来解决无法确认次数的循环
for 用于能确定循环次数的情况 比较方便

for表达式可以省略 分号不能省略

案例1: 打印三角形

var str = '';
for (var i =0; i<10; i++) {
for (var j =i; j<10; j++) {
str = str + '* ';
}
str = str + '\n';
}
console.log(str);

案例2: 打印正方形

var str = '';
for (var j =0; j<10; j++) {
for (var i = 0; i<10; i++) {
str = str +'* '; }
str = str + '\n';
}
console.log(str);

案例3: 打印九九乘法表

var str = '';
for (var i =1; i <= 9; i++) {
for (j=i; j<=9; j++) {
str += i + '*' + j + '=' + i*j + '\t';
}
str = str + '\n';
}
console.log(str) break 打破循环
for (var i =50; i<=200; i++) {
if (i % 7 === 0) {
console.log(i);
break;
}
}

三、continue和break

1. continue 结束当次循环 继续下一次

var sum = 0;
for (var i=1; i<=100; i++) {
if (i%10 === 3) {
console.log(i);
continue; }
sum += i;
}
console.log(sum);

斐波那契数列例子:

var n1 =1;
var n2 = 1;
var n3;
for (var i = 3; i <=12; i++) {
n3 = n2 + n1;
n1 = n2;
n2 = n3;
}
console.log(n3);

调试debug

调式debug
调试的目的是确定错误的原因和位置,并解决错误
错误
语法错误
逻辑错误
过去调试js的方式
alert()
console.log()
断点调试
浏览器中按F12 --> source 找到需要调试的文件 --> 在程序的某一行设置断点

break待补充......

    

js入门第二篇之流程控制语句的更多相关文章

  1. ElasticSearch入门 第二篇:集群配置

    这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  2. [dart学习]第六篇:流程控制语句

    经过前面的基础知识了解学习,我们今天可以进入语句模块啦. dart主要有以下流程控制语句: if-else for循环 while和do-while循环 break和continue switch-c ...

  3. C#入门篇5-7:流程控制语句 continue语句

    #region continue语句 public class ContinueApp { public static void Fun1() { //标签打印显示1…30,若能被3整除则不打印. ; ...

  4. C#入门篇5-8:流程控制语句 break语句

    #region break语句 public class Breakapp { public static void Fun1() { //计算1+2+…+100的求和程序,打印显示每次循环计算的结果 ...

  5. 微信js框架第二篇(创建完整界面布局)

    接着昨天的继续谈关于微信新出的这个js框架,今天主要谈一个页面的创建到布局的详细步骤. 一.创建一个完整页面       页面你可以创建在项目的任何节点,只要你在入口文件正确引入创建该页面的路径就可使 ...

  6. JavaMail入门第二篇 创建邮件

    JavaMail API使用javax.mail.Message类来表示一封邮件,Message类是一个抽象类,所以我们需要使用其子类javax.mail.internet.MimeMessage类来 ...

  7. js基础知识之_流程控制语句

    javascript 流程控制 流程控制:就是程序代码执行顺序 流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行 顺序结构 按照书写顺序来执行,是程序中最基本的流程结构 选择结构(分支结构 ...

  8. Android JNI入门第二篇——Java参数类型与本地参数类型对照

    前面一篇通过简单的例子介绍了android中JNI的使用.这一篇从基础上了解一些Java参数类型与本地参数类型区别. 1)        java中的返回值void和JNI中的void是完全对应的哦! ...

  9. Hadoop入门第二篇-MapReduce学习

    mapreduce是一种计算模型,是google的一篇论文向全世界介绍了MapReduce.MapReduce其实可以可以用多种语言编写Map或Reduce程序,因为hadoop是java写的,所以通 ...

随机推荐

  1. JV默认是如何处理异常

    main函数收到这个问题时,有两种处理方式: a:自己将该问题处理,然后继续运行 b:自己没有针对的处理方式,只有交给调用main的jvm来处理 jvm有一个默认的异常处理机制,就将该异常进行处理. ...

  2. 你真的懂wait、notify和notifyAll吗

    生产者消费者模型是我们学习多线程知识的一个经典案例,一个典型的生产者消费者模型如下: public void produce() { synchronized (this) { while (mBuf ...

  3. 017-mac下project

    下载安装使用 http://www.3322.cc/soft/35716.html

  4. 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_02-用户认证技术方案-单点登录

    2 用户认证技术方案 2.1 单点登录技术方案 分布式系统要实现单点登录,通常将认证系统独立抽取出来,并且将用户身份信息存储在单独的存储介质,比如: MySQL.Redis,考虑性能要求,通常存储在R ...

  5. 123456---com.twoapp.ErTongNongChangPinTu---儿童农场拼图

    com.twoapp.ErTongNongChangPinTu---儿童农场拼图

  6. 如何让在panel里的子窗体随panel的大小改变而变化?(转)

            private void Form1_Load(object sender, EventArgs e)         {             frm=new Form2();   ...

  7. VCL组件之TPanel

    TPanel位于Standard组件面板上,也是常用的一种容器控件.面板的一个优点就是放在面板上的组件称为面板的一部分,因此它们与面板一起移动.这在设计阶段很有用. Panel组件的大部分功能在于其A ...

  8. PostgreSQL学习笔记——事务

    事务时需要在同一处理单元中执行的一系列更新处理的集合.通过使用事务,可以对数据库中的数据更新处理的提交和取消进行管理. 事务处理的终止指令包括COMMIT(提交处理)和ROLLBACK(取消处理)两种 ...

  9. 2019年11月27日 Linux所学知识 总结

    查看网络信息和网络状态 nmcli connection show 使用con-name参数指定公司使用的网络会话名称company,然后依次用ifname参数指定本机的网卡名称. 用autoconn ...

  10. 在eNSP下使用Hybird接口

    1.实验拓扑图 2.实验编址表 3.实验过程 按照拓扑图设置各个PC机的IP地址 双击PC1然后弹出对话框,依次设置主机名:PC1→IP地址:192.168.1.1→子网掩码:255.255.255. ...