JavaScript基本语法(三)
上篇博文说到JS的运算符,这次说说JS程序流程控制。
1、 条件语句 if
语法:
if(condition)
statements1
else
statement2
当括号里的条件成立的时候,执行if后的statements1语句,否则执行statement2语句。
例:
var a=1;
var b=2;
if(a>b) {
alert(“hello world”);
}
else
alert(“hello!”);
此时页面结果为弹出对话框,内容为hello!
我们还可以使用以下条件语句:
if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
if (condition1)
{
当条件 1 为
true 时执行的代码
}
else if (condition2)
{
当条件 2 为
true 时执行的代码
}
else
{
当条件 1 和 条件
2 都不为 true 时执行的代码
}
例:
if (time<10)
{
x="Good morning";
}
else if (time<20)
{
x="Good day";
}
else
{
x="Good evening";
}
2、 switch 语句
switch 语句用于基于不同的条件来执行不同的动作。
语法:
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
n 与 case 1 和
case 2 不同时执行的代码。即默认的情况下执行的代码。
}
首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用
break来阻止代码自动地向下一个 case 运行。
例:
var day=new Date().getDay();
switch (day)
{
case 6:
x="Today it's Saturday";
break;
case 0:
x="Today it's Sunday";
break;
default:
x="Looking forward to the Weekend";
}
alert(x);
运行结果:Looking forward to the Weekend
3、for 循环
如果一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。
语法:
for (语句 1; 语句 2; 语句 3)
{
被执行的代码块
}
语句 1 (代码块)开始前执行
starts.
语句 2 定义运行循环(代码块)的条件
语句 3 在循环(代码块)已被执行之后执行
语句之间用分号隔开。
例:
for (var i=0;
i<5; i++)
{
x=x + "The number is " + i + "<br>";
}
语句1定义了变量i为0,若语句2中i<5成立,则执行花括号里的内容,再执行语句3。知道语句2不成立,即值为false时,则退出循环。
注:
(1)、
通常我们会使用语句 1
初始化循环中所用的变量 (var i=0)。
语句 1 是可选的,也就是说不使用语句 1 也可以。
我们可以在语句 1 中初始化任意(或者多个)值。
(2)、
通常语句 2 用于评估初始变量的条件。
语句 2 同样是可选的。
如果语句 2 返回
true,则循环再次开始,如果返回 false,则循环将结束。
如果了语句 2,那么必须在循环内提供
break。否则循环就无法停下来。这样有可能令浏览器崩溃。
(3)、
通常语句 3 会增加初始变量的值。
语句 3 也是可选的。
语句 3 有多种用法。增量可以是负数 (i--),或者更大 (i=i+15)。
语句 3 也可以省略(比如当循环内部有相应的代码时)。
4、for/in 循环
for/in 语句循环遍历对象的属性:
例:
var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}
5、while 循环
语法:
while (条件)
{
需要执行的代码
}
例:
var i=0;
while (i<5)
{
x=x + "The number is " + i +
"<br>";
i++;
}
当i的值小于5时,循环会继续。直到i>=5,才会退出循环。
6、Do/While 循环
do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环。do while 与while 的区别是do while是先执行后判断;而while是先判断后执行。所以do while至少会执行一次循环。
语法:
Do
{
需要执行的代码
}
while (条件); //不要漏掉这里的分号;
7、break 语句和 continue 语句
break 语句可以立即退出循环; (终止循环)
continue 语句只是退出当前循环; (跳出当前循环)
例:(1)
for(var i = 1; i < 10; i++){
if(i == 4){
continue;
}
n++;
}
document.write(n);
输出结果为:8
本来循环应该执行9次,但当i的值增加到4时,遇到语句continue,跳过了该次循环,所以总循环次数为8。
(2)
var n = 0;
for(var i = 1; i < 10; i++){
if(i == 4){
break;
}
n++;
}
document.write(n);
输出结果为:3
本来循环应该执行9次,但当i的值增加到4时,遇到语句continue,终止了循环,所以总循环次数为3。
JavaScript基本语法(三)的更多相关文章
- 一、JavaScript概述 二、JavaScript的语法 三、JavaScript的内置对象
一.JavaScript的概述###<1>JavaScript的概念 又称ECMAScript,和java没有任何关系 嵌入在HTML元素中的 被浏览器解释运行的 一种脚本语言. ###& ...
- javascript高级语法三
一.js的正则表达式 1.什么是正则表达式 正则表达式(regular expression)是一个描述字符模式的对象,ECMAScript的RegExp类表示正则表达式,而String和RegExp ...
- javascript运算符语法概述
× 目录 [1]个数 [2]优先级 [3]结合性[4]类型[5]规则表 前面的话 javascript中的运算符大多由标点符号表示,少数由关键字表示,它们的语法言简意赅,它们的数量却着实不少.运算符始 ...
- javascript基础语法——词法结构
× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫 ...
- javaScript高程第三版读书笔记
看完<dom编程艺术>现在准备读进阶版的js高程了,由于篇幅较长,所以利用刚看完<dom编程艺术>学到的知识写了段JavaScript代码,来折叠各章的内容.并且应用到了< ...
- javascript的语法作用域你真的懂了吗
原文:javascript的语法作用域你真的懂了吗 有段时间没有更新了,思绪一下子有点转不过来.正应了一句古话“一天不读书,无人看得出:一周不读书,开始会爆粗:一月不读书,智商输给猪.”.再加上周五晚 ...
- Javascript多线程引擎(三)
Javascript多线程引擎(三) 完成对ECMAScript-262 3rd规范的阅读后, 列出了如下的限制条件 1. 去除正则表达式( 语法识别先不编写) 2. 去除对Function Decl ...
- JavaScript中的三种弹出对话框
学习过js的小伙伴会发现,我们在一些实例中用到了alert()方法.prompt()方法.prompt()方法,他们都是在屏幕上弹出一个对话框,并且在上面显示括号内的内容,使用这种方法使得页面的交互性 ...
- 【repost】JavaScript 基本语法
JavaScript 基本语法,JavaScript 引用类型, JavaScript 面向对象程序设计.函数表达式和异步编程 三篇笔记是对<JavaScript 高级程序设计>和 < ...
- JavaScript基础(三)
十三.JS中的面向对象 创建对象的几种常用方式 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1.使用Object或对象字面量创建对象 ...
随机推荐
- iframe跨域+
script.image.iframe的src都不受同源策略的影响.所以我们可以借助这一特点,实现跨域.如前面所介绍的JSONP跨域,以及灯标(Beacons). 该篇随笔主要阐述iframe结合一些 ...
- # Hawk:开源贡献计划,设计,反思
Hawk在发布之后,收到了不少朋友的感谢和使用反馈,沙漠君表示非常开心.软件肯定有很多的问题和不足,还有很多可扩展的空间,因此我希望更多的朋友,能够参与到改进Hawk的计划中来,为开源世界作出努力. ...
- ASP.NET MVC 6 一些不晓得的写法
今天在看 Scott Guthrie 的一篇博文<Introducing ASP.NET 5>,在 MVC 6 中,发现有些之前不晓得的写法,这边简单记录下,算是对自己知识的补充,有些我并 ...
- hibernate笔记--缓存机制之 二级缓存(sessionFactory)和查询缓存
二级缓存(sessionFactory): Hibernate的二级缓存由SessionFactory对象管理,是应用级别的缓存.它可以缓存整个应用的持久化对象,所以又称为“SessionFactor ...
- 重温JSP学习笔记--与日期数字格式化有关的jstl标签库
上一篇笔记写的主要是JSTL的core标签库,如果想对一些数字或者日期做一些操作或者在网页上显示指定格式的数字或日期,jstl还提供了另一个fmt标签库,这里简单介绍一下: 第一步,导入标签库: &l ...
- WebGIS中矢量切图的初步研究
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在GIS领域,金字塔技术一直是一个基础性技术,WMTS规范专 ...
- php学习零散笔记—字符串分割、fetch函数和单双引号。
1 字符串分割——split()函数和preg_split()函数 split — 用正则表达式将字符串分割到数组中——貌似PHP5.3以上已不赞成使用 array split ( string $p ...
- C++中的std详解
以下内容为:本人看C++视频教程-范磊主讲(2.91G)视频学习笔记. 与大家分享下,希望可以帮助大家学习c++! 引例: #include<iostream> int main() { ...
- PHP之验证码的实现
简单的用PHP实现验证码: ?php /** *制作验证码 *1.启动session *2.设定标头 *3.创建画布 *4.创建颜色 *5.创建随机数并放到画布上 *6.将得到的若干随机数放入sess ...
- Java 技能树