ECMAScript1.2 表达式|语句|break|continue
表达式
一个表达式可以产生一个值,有可能是运算,函数调用,
有可能是字面量,表达式可以放在任何需要值的地方。
语句
语句可以理解为一个行为,循环语句和判断语句就是典型的语句。
一个程序有很多个语句组成,一般情况下是分割成一个一个语句。
流程控制 由三种基本结构组成
顺序结构
从上到下执行的代码就是顺序结构,
程序默认就是由上到下顺序执行的。
分支结构
根据不同情况,执行对应代码。
例如:老师留了作业,做完就可以回家,没有做完就继续做。
循环结构
重复做一件事。
例如:在操场跑10圈,一圈一圈重复的来做,直到跑完10圈为止,
有一个条件,每跑完一圈都要想一下自己跑够10圈了没有。
分支结构
if 语句 if...else if...else
//
if (/*条件表达式*/) {
// 执行语句
} //
if (/*条件表达式*/) {
// 执行语句
} else {
// 否则执行语句
} //
if (/*条件表达式1*/) {
// 成立执行语句
} else if (/*条件表达式2*/) {
// 成立执行语句
} else if (/*条件表达式3*/) {
// 成立执行语句
} else {
// 否则执行语句
}
小案例1
// 求两个数的最大数 var n1 = ;
var n2 = ;
// 条件表达式
if (n1 > n2) {
// 执行语句
console.log('n1:' + n1);
} else {
// 否执行语句
console.log('n2:' + n2);
}
小案例2
// 判断一个数是偶数还是奇数 var n1 = ;
// 取余%2等于0,就是偶数
if (n1 % === ) {
console.log('是偶数');
} else {
// 否则执行语句
console.log('是奇数');
}
案例3
// 定义一个分数
var score = ;
// 条件1: 大于等90与小于等于100
if (score >= && score <= ) {
console.log('A');
// 条件2:大于等于80与小于90
} else if (score >= && score < ) {
console.log('B');
// 条件3:大于等于70与小于80
} else if (score >= && score < ) {
console.log('C');
// 条件4:大于等于60与小于70
} else if (score >= && score < ) {
console.log('D');
// 否则执行语句
} else {
console.log('E');
} ////////////以上的简写 var score = ;
if (score >= ) {
console.log('A');
} else if (score >= ) {
console.log('B');
} else if (score >= ) {
console.log('C');
} else if (score >= ) {
console.log('D');
} else {
console.log('E');
}
三元运算 表达式1?表达式2:表达式3
语法结构: 表达式1 ? 表达式2 : 表达式3
解释:当表达式1条件,成立执行表达式2,不成立执行表达式3
是对if...else语句的一种简化写法。
两个小案例认识三元运算:
// 判断是否满18岁
var age = ;
console.log(age >= ? '已成年' : '未成年'); // 已成年 // 两个数中找最大值
var n1 = ;
var n2 = ;
var max = n1 > n2 ? n1 : n2;
console.log(max);
switch语句 switch{case常量1: 语句 break;default: 语句 break;}
注意点1: 每个case块的break可以省略,代码会继续执行下一个case。
注意点2: switch语句在比较值时使用的是全等操作符(===),
因此不会发生类型转换(例如:字符串'10'不等于数值10)。
语法结构:
// 语法结构 switch (expression) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
case 常量3:
语句;
break;
........
case 常量n:
语句;
break;
default:
语句;
break;
}
小案例认识switch:
// 输出星期几 var day = ;
switch (day) {
case :
console.log('星期一');
break;
case :
console.log('星期二');
break;
case :
console.log('星期三');
break;
case :
console.log('星期四');
break;
case :
console.log('星期五');
break;
case :
console.log('星期六');
break;
case :
console.log('星期日');
break;
default:
console.log('不在星期范围内');
break;
}
案例2
// 把百分制转换为ABCDE var score = ;
// 两位数转换成一位数
score = parseInt(score / );
switch (score) {
case :
case :
console.log('A');
break;
case :
console.log('B');
break;
case :
console.log('C');
break;
case :
console.log('D');
break;
default:
console.log('E');
break;
}
最后的default类似于if语句最后的else,当以上条件都不成立才执行
循环解构
while循环
while (表达式) {
// 循环体
}
// 打印1到100之间的数
var number = ; while (number <= ) { console.log(number); // 每执行循环体一次,number自身就+1
number++;
}
当表达式的条件成立则执行循环体。
do...while循环
do {
// 循环体
} while (表达式)
// 先执行一次循环体再判断条件
var number = ;
do {
// 循环体
console.log(number);
number++;
} while (number > ) // 条件不成立就停止执行循环体
先执行一次循环体,再判断表达式,如果表达式条件成立则继续执行循环体。
for 循环
for (初始化表达式; 比较表达式; 自增表达式) {
// 循环体
}
// 打印1到10之间的数字 for (var i = ; i <= ; i++) {
// 循环体
console.log(i);
}
执行顺序:初始化表达式>>>比较表达式>>>循环体>>>自增表达式
初始化表达式只执行一次!
练习例子
在控制台输出正方形:
// 打印一个10*10的正方形 var str = '';
// 外层循环控制行数
for (var i = ; i < ; i++) {
// 内层循环控制每行中字符的个数
for (var j = ; j < ; j++) {
// 拼接正方形
str = str + '* ';
// 以上的简写str += '* ';
}
// 控制换行
str += '\n';
}
// 打印
console.log(str);
打印九九乘法表:
// 拼接完的字符串
var str = '';
// 外层循环控制行数
for (var i = ; i <= ; i++) {
// 内层循环控制每行有几组
for (var j = i; j <= ; j++) {
// 拼接
str += i + '*' + j + '=' + i * j + '\t';
}
// 换行
str += '\n';
}
console.log(str);
打印直角三角形:
var str = '';
for (var i = ; i < ; i++) {
// 内层循环与外层循环建立联系
for(var j = i; j < ; j++) {
str += '* ';
}
// 换行
str += '\n';
}
console.log(str);
求1~100之间所有数的乘积:
// 接收这个乘积
var num = ;
for (var i = ; i <= ; i++) {
num *= i;
}
console.log(num);
break和continue
break:终止循环
continue:跳出当次循环,继续下一次循环
break例子:求整数50到200的第一个能被7整除的数
for (var i = ; i <= ; i++) {
if (i % === ) {
console.log(i); // 56
// 终止循环
break;
}
}
continue例子:求整数1到100的累加值,但要跳过所有个数为3的数
// 总数
var sum = ;
for (var i = ; i <= ; i++) {
// 判断是否是个数为3的数
if (i % === ) {
// 跳出当次循环
continue;
} else {
// 累加
sum += i;
}
}
console.log(sum); //
job
有本金10000,年利率是千分之一,计算5年后获得的本金是多少
// 本金
var money = ;
// 利率
var rate = 0.003;
// 累加5次
for (var i = ; i <= ; i++) {
money += money * rate;
}
console.log(money); // 10150.90270405243
兔子规律:1,1,2,3,5,8,13,21..十个月后有多少只
// n1和n2是两个月的兔子的数量
var n1 = ;
var n2 = ;
// n3变量的值是n1+n2的结果
var n3;
// 由于两个月数量已知,所以我们从第三个月开始算起
for (var i = ; i <= ; i++) {
n3 = n1 + n2;
n1 = n2;
n2 = n3;
}
console.log(n3);
ECMAScript1.2 表达式|语句|break|continue的更多相关文章
- js中退出语句break,continue和return 比较
js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...
- js中退出语句break,continue和return 比较(转)
原链接:http://blog.163.com/ued_er/blog/static/199703159201210283107315/ js中退出语句break,continue和return 比较 ...
- js中退出语句break,continue和return 比较 (转载)
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...
- js中退出语句break,continue和return 比较 (转)
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...
- javascript中退出语句break,continue和return 比较
在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止. 首先:break和continue两个 ...
- 跳出语句 break continue
break 使用场景:终止switch或者循环 在选择结构switch语句中 在循环语句中 离开使用场景的存在是没有意义的 public static void main(String[] args) ...
- 跳转语句—break,continue,goto
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h&g ...
- js的break语句,continue语句,return语句
js的break语句,continue语句,return语句. 用的时候很容易混淆,有过一次泪奔的经历. break语句 break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch ...
- JAVA之旅(二)——if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结
JAVA之旅(二)--if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结 JAVA的思想真的很重要,所以要专心的学-- ...
随机推荐
- docker核心组件(6)
Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 ...
- 工具类--Excel 导出poi
实现功能 --批量导出excel 文件,配置一个sheet多少条数据,根据查询数据量的多少确定生成几个sheet页. pom 文件导入ExcelUtils工具包,依赖于poi包. <!-- ht ...
- RabbitMQ使用(二)
1.消息确认消费 1. 生产者端发消息时,加参数 properties=pika.BasicProperties( delivery_mode=2, # make message persistent ...
- CentOS6.8搭建LNMP环境
selinux可能会致使编译安装失败,我们先禁用它.永久禁用,需要重启生效 sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/c ...
- POJ 2451 Uyuw's Concert (半平面交)
题目链接:POJ 2451 Problem Description Prince Remmarguts solved the CHESS puzzle successfully. As an awar ...
- HDU 6685 Rikka with Coin (枚举 思维)
2019 杭电多校 9 1006 题目链接:HDU 6685 比赛链接:2019 Multi-University Training Contest 9 Problem Description Rik ...
- 剑指offer——53字符流中第一个只出现一次的字符
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
- HTML5 Shiv--解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局.大多数浏览器基本兼容html5,但目前来说ie6/ie7/ie8还不兼容html5标签,所以需要javascript处理 ...
- mongo之$max
原集合: { _id: 1, highScore: 800, lowScore: 200 } 应用: #意思是:更新_id 等于1 的记录,条件是highScore 950>原纪录的highSc ...
- 初探Javascript魅力(1)
转自:CSDN--http://blog.csdn.net/cherry_vicent/article/details/42120149 1.javascript是什么 根据用户的一些操作,然后来 ...