JavaScript基础之流程控制语句
第三部分:流程控制语句
JavaScript代码是书写位置:
JavaScript代码应该写在<script type=”text/javascript”></script>这一对标记中。
或者作为外部引用<script src="JavaScript代码路径"></script>
JavaScript的每一句代码请用分号作为结束。
输出语句
1、控制台输出:console.log();
它可以在控制台中输出一些信息,输出的信息就是console.log()中圆括号的内容。
在调试程序的时候回经常用这个语句。
2、弹出框输出:
alert();
使用alert可以在网页上弹出一个提示框显示alert()的圆括号中的信息。
prompt();
使用prompt可以在网页上弹出一个输入框,并且以prompt()的圆括号中的信息作为提示信息。
confirm();
包含确定和取消的弹出框。
3、页面输出:document.write();
直接会将内容显示在页面上。
选择语句
if....else语句
if(判断条件/boolean值){
//满足条件会执行下面的代码
代码1;
}else {
//当上面的条件不满足,或者boolean的值为false的时候会执行下面的代码2
代码2
}
此外,else后还可以继续加if判断
if(判断条件/boolean值){
//满足条件会执行下面的代码
代码1;
}else if(判断条件) {
//当上面的条件不满足,或者boolean的值为false的时候会执行下面的代码2
代码2
}
else if(判断条件)
。。。。。
else {
最后代码
}
Switch ...case语句
用来判断多个可能出现的值
switch 语句与 if 语句的关系最为密切,而且也是在其他语言中普遍使用的一种流控制语句。
switch (expression) {
case value: statement
break;
case value: statement
break;
case value: statement
break;
case value: statement
break;
default: statement
}
switch 语句中的每一种情形(case)的含义是:“如果表达式等于这个值(value),则执行后面的语句(statement)”。而 break 关键字会导致代码执行流跳出 switch 语句。如果省略 break 关键字,就会导致执行完当前 case 后,继续执行下一个 case。通过为每个 case 后面都添加一个 break 语句,就可以避免同时执行多个 case 代码的情况。
也可以多种情况混合。
switch (i) {
case 25:
/* 合并两种情形 */
case 35:
alert("25 or 35");
break;
case 45:
alert("45");
break;
default:
alert("Other");
}
需要注意的是switch 语句在比较值时使用的是全等操作符,因此不会发生类型转换(例如,
字符串"10"不等于数值 10)。
break与continue语句
break是在循环内部结束合格循环。
continue是在循环的内部结束本次循环,开始下一次循环:
循环语句
for循环是反复执行同一段代码。
for(var i = 1; 判断条件; i++){
要循环的代码块:
}
当程序运行到for的时候,会先声明一个变量i,并且赋值为1,判断i是否满足后面的判断条件,如果满足,执行下面的要循环的代码块,代码 块执行完成之后再执行i++,再判断判断条件是否满足,如果满足再次按照上面的流程执行,如果不满足,结束for循环。
for循环还可以用于嵌套,实现复杂的运算,冒泡排序就用到了for循环的嵌套。下面举两个for循环嵌套的例子。
打印直角三角形,
for (var i = 1; i <= 10; i++) {
for (var j = 1; j <= i; j++){
document.write("☆");
}
document.write("<br/>");
}
打印99乘法表
for (var i = 1; i < 10; i++) {
for (var j = 1; j <= i; j++) {
document.write(j + "*" + i + "=" + i * j);// 1 * 1 = 1
document.write(" ");
}
document.write("<br/>");
}
for in循环
for-in 用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
举个例子
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
while循环
while(判断条件/boolean){
代码块
}
当代码执行到while的时候,会先判断判断条件是否为true,如果为true,那么会执行while大括号中的代码块,代码块执行完毕以后,再次回到while中再进行判断,如果为true,再次执行while大括号中的代码块,并且再次回while,如果为false就不执行。
注意:将来在写代码的时候一定要注意循环的判断条件不能一直为true,否则会成为一个死循环。
do...while循环
do-while 语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。
换句话说,在对条件表达式求值之前,循环体内的代码至少会被执行一次。
do {
statement
} while (expression);
do...while语句在开发中并不怎么用,用的最多的还是for循环,以及for循环嵌套。
补充:
Function函数对象
函数申明式
function fn(){
// 函数体
}
函数表达式(匿名函数)
var fn = function(){
// 函数体
}
// fn表示函数名称
// 函数表达式通常又叫匿名函数 因为没有函数名
函数的调用
fn();// 注意:函数只申明不调用是不会执行的
函数的参数
// 申明
function 函数名(形参1,形参2,形参3,){
// 函数体
}
// 调用
函数名(实参1,实参2,实参3);
函数名(实参1);// 这样写也不会有问题
函数名(实参1,实参2,实参3,实参4);// 这样写也不会有问题
// 注意:函数的实参个数可以和形参的个数不同
函数的返回值
function 函数名(){
return 要返回值;
}
// 注意:函数不写返回值时默认的返回值是undefined
函数的递归:函数在内部调用自身函数叫递归
function fn(){
fn();
}
fn();
函数的回调:被当做参数传递的函数叫回调函数
function fn1(){
console.log(“我是回调函数”);
}
function fn2(parameter){
parameter(); // 调用函数
// 这里的parameter是形参 代表传进来的函数fn1
}
fn2(fn1);// fn1就是一个回调函数
JavaScript基础之流程控制语句的更多相关文章
- 二、JavaScript语言--JS基础--JavaScript进阶篇--流程控制语句
1.if语句--做判断 if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位, ...
- JS基础_流程控制语句
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JS基础-语法+流程控制语句+函数+内置对象【数组】
JS语法: Javascript基本数据类型:undefined/null/Boolean/number/string 复杂数据类型:object typeof用来检测变量的数据类型 typeof的使 ...
- java基础3_流程控制语句
一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...
- 再回首,Java温故知新(九):Java基础之流程控制语句
流程控制语句分为条件语句.循环语句和中断语句. 中断语句包括break和continue,两者的区别在于break会跳出整个循环,而continue则是跳出此次循环,之后还会继续下一次循环. 条件语句 ...
- java基础,流程控制语句
流程控制语句 条件语句: if语句: *if(条件 boolean类型) ...
- JavaSE基础篇—流程控制语句
本章知识点分析: 流程控制语句 1.定义:流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控 制方式采用结构化程序设计中规定的三种基本流程机构:顺序结 ...
- Java基础学习-流程控制语句
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...
- python基础(二) —— 流程控制语句
编程语言中的流程控制语句分为以下几类: 顺序语句 分支语句 循环语句 其中顺序语句不需要单独的关键字来控制,就是按照先后顺序一行一行的执行,不需要特殊的说明. 下面主要是 分支语句 和 循环语句的说明 ...
随机推荐
- ubuntu上使用ufw配置管理防火墙
在Linux上使用ufw配置管理防火墙 UFW,即简单防火墙uncomplicated firewall,是一个 Arch Linux.Debian 或 Ubuntu 中管理防火墙规则的前端.UFW ...
- jquery判断日期是不是为空,是否大于前面的日期
jquery判断日期是否为空,是否大于前面的日期,代码如下:方法一function onemonthtypeChange(){var startDate = $("#startDate&qu ...
- cef3加载flash闪烁问题非easyhook的另外一种解决方法
1.现象 cef3加载flash,会出现弹出命令行窗口,显示not sandboxed,影响使用体验. 网上的解决方法,参考此文. http://blog.csdn.NET/zx2356/articl ...
- 【转】手机web前端调试页面的几种方式
前言 PC端web页面调试比较容易,这里主要说几种移动端调试的方法,从简单到复杂.从模拟调试到远程调试,大概分为几部分: 1.Chrome DevTools(谷歌浏览器)的模拟手机调试 2.weinr ...
- [日常] Go语言圣经-WEB服务与习题
Go语言圣经-web服务 1.Web服务程序,标准库里的方法已经帮我们完成了大量工作 2.main函数将所有发送到/路径下的请求和handler函数关联起来,/开头的请求其实就是所有发送到当前站点上的 ...
- 撩课-Web大前端每天5道面试题-Day20
1.vue生命周期的作用是什么? 它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻辑. 2. Vue实现数据双向绑定的原理:Object.defineProperty( ...
- 撩课-Java每天5道面试题第24天
151.springMVC和struts2的区别有哪些? .springmvc的入口是一个servlet即前端控制器(DispatchServlet), 而struts2入口是一个filter过虑器( ...
- 高并发第十二弹:并发容器J.U.C -- Executor组件FutureTask、ForkJoin
从本章开始就要说 Executor 的东西了.本次讲的是一个很常用的FutureTask,和一个不是那么常用的ForkJoin,我们现在就来介绍吧 引言 大部分时候创建线程的2种方式,一种是直接继承T ...
- 基于Udp的五子棋对战游戏
引言 本文主要讲述在局域网内,使用c#基于Udp协议编写一个对战的五子棋游戏.主要从Udp的使用.游戏的绘制.对战的逻辑这三个部分来讲解. 开发环境:vs2013,.Net4.0,在文章的末尾提供源代 ...
- PHP IN_ARRAY 函数 使用需要注意的地方
今天 看PPChttp://bbs.phpchina.com/thread-171993-1-7.html 这个问题. 其实关键还是因为 php是弱类型语言,php进行比较的时候 最好还是使用stri ...