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的思想真的很重要,所以要专心的学-- ...
随机推荐
- Delphi 实现简易语音发音(基于TTS方式)
uses Comobj; procedure TForm1.Button1Click(Sender: TObject); var voice: OLEVariant; begin voice := C ...
- iOS 7 认识 TextKit
本文由 伯乐在线 - 和谐老约翰 翻译自 Max Seelemann.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. iOS7 的发布给开发者的案头带来了很多新工具.其中一个就是 TextKit( ...
- nodejs 内存泄漏
This looks OK at first glance. We could think that theThing get's overwritten with every invocation ...
- 一个小BUG引发的思考。(论开发与测试之间的那点事)
标题不是“一个馒头引发的血案”. 言归正传:今天上午测试的时候,发现了一个BUG,如图: 一个用肉眼就能发现的BUG.原因当然是因为开发同事没有自测试,流入到了测试人员这里了. 无非是开发同事不严谨造 ...
- Installing GCC 简单方法
Installing GCC This page is intended to offer guidance to avoid some common problems when installing ...
- C#之winform 猜拳小游戏
C#之winform 猜拳小游戏 1.建立项目文件 2.进行界面布局 2.1 玩家显示(控件:label) 2.2 显示玩家进行选择的控件(控件:label) 2.3 电脑显示(控件:label) ...
- UVA 356 - Square Pegs And Round Holes
题目:在一个2n*2n的网格中间画一个直径为2n-1的圆,问圆内部的格子以及和圆相交的格子个数. 思路:只要考虑1 / 4圆的点就行,用点到原点距离与半径比较,当格子左下方和右上方都在格子里时,格子在 ...
- 解压lzma格式的img文件报“Filename has an unknown suffix, skipping”怎么办
1 确认img文件是什么压缩格式 file 文件名 2 报标题错误怎么办? mv initrd.img initrd.img.xz xz -d initrd.img.xz cpio -ivd < ...
- java反射机制以及应用
JAVA反射机制+动态运行编译期不存在的JAVA程序 一.有关JAVA反射 在运行期间,在不知道某个类A的内部方法和属性时,能够动态的获取信息.获取类或对象的方法.属性的功能,称之为反射. 1.相关类 ...
- WordTEX
https://www.andrew.cmu.edu/user/twildenh/wordtex/