0

0

详解JavaScript中的流程语句

青灯夜游

青灯夜游

发布时间:2018-10-12 15:45:54

|

2714人浏览过

|

来源于博客园

转载

本文给大家带来详解javascript中的流程语句,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

一 开篇概述

本讲主要讲解JavaScript流程语句,其大致内容包括如下:

其中,常用的if,while,do..while,for在本片文章就不论述,重点论述for..in..,label,break和continue,whth,switch等语句

二 内容区

立即学习Java免费学习笔记(深入)”;

 (一)常用语句

由于如下语句比较通用,本篇文章就不再论述

1.条件语句

if语句

2.循环语句

while语句,do.while语句,for语句

(二)  for..in..语句

1.定义

for...in...,是一种迭代语句,用来枚举对象的属性,其语法定义为:

for (propName in expression) statement

基于在JavaScript开发中"能使用局部变量,就不要使用全局变量"原则, 建议将propName属性定义为局部变量,如下所示:

for (var propName in expression) statement

2.注意点

(1)for....in是用来枚举对象属性的,而不是枚举对象属性值。

例子1:

如下例子,for..in..输出的是数组索引(即数组属性),而不是数组索引值。

var i = 5;
    var arr = new Array();

    for (var n = 0; n < i; n++) {
        arr[n] = i;
    }

    for (var propName in arr) {
        alert(propName);// 0,1,2,3,4
    }

例子2:

如下例子,for..in..输出的是对象userInfo的属性(name,age,address),而不属性值(Alan_beijing,38,china-shanghai)

var userInfo = { name: 'Alan_beijing', age: 38, address: 'china-shanghai' };
for (var property in userInfo) {
alert(property);//name,age,address5     
}

(2)for..in..枚举属性,没有确定的顺序,不同的浏览器,会有所差别。

(3)ECMAScript5版本之前,如果被迭代对象变量值null或undefined,for语句会抛出错误,ECMAScript5之后,这种情况不会抛出错误,但不执行循环体。

(三) label

 1.定义

在JavaScript中,label语句表示标签语句,通常与循环语句使用,表示循环语句跳转到指定位置。

1 label:statement

例1:

如下代码包含一个label语句outermost,其内容为两个嵌套的循环体,当循环体执行到1==5且j==5时,break语句将跳转到outermost语句继续执行。

var num = 0;
    outermost:
    for (var i = 0; i < 10; i++) {
        for (var j = 0; j < 10; j++) {
            if (i == 5 && j == 5) {
                break outermost;
            }
            num++
        }
    }
    alert(num);//55

(四) break和continue

 1.定义

break和continue都表示在循环体中,根据特定的条件退出循环体,但两者又存在区别,break表示退出整个循环体,continue表示退出满足条件的该次循环体。

例子1:

如下代码,当执行i=5时,就退出整个循环体。

var num = 1;
    for (var i = 1; i < 10; i++) {
        if (i % 5 == 0) {
            break;
        }
        num++;
    }
    alert(num);//5

例子2:

如下代码,当执行i=5时,退出本次循环,然后返回for语句开头,继续执行。

10分钟内自己学会PHP
10分钟内自己学会PHP

10分钟内自己学会PHP其中,第1篇为入门篇,主要包括了解PHP、PHP开发环境搭建、PHP开发基础、PHP流程控制语句、函数、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、日期和时间等内容;第2篇为提高篇,主要包括MySQL数据库设计、PHP操作MySQL数据库、Cookie和Session、图形图像处理技术、文件和目录处理技术、面向对象、PDO数据库抽象层、程序调试与错误处理、A

下载
var num = 1;
    for (var i = 1; i < 10; i++) {
        if (i % 5 == 0) {
            continue;
        }
        num++;
    }
    alert(num);//9

 2.注意点

(1)break和continue跳出循环体时,表示只跳出直接所在循环体,而不是除了直接循环体外的其他循环体。

例子1:

如下例子,break只跳出直接循环体

例子2:

如下例子,continue只跳出直接循环体

var num = 0;
    for (var i = 0; i < 10; i++) {
        for (var j = 0; j < 10; j++) {
            if (i == 5 && j == 5) {
                continue;
            }
            num++
        }
    }
    alert(num);//99

2.break和continue一般结合标签语句运用,表示跳转到指定位置 

例子:

如下代码,当执行到i=5 && j==5时,就跳到标签语句outermost处,继续执行。这里需要注意的是,JavaScrip没有块级作用域,因此在for语句外部是能够访问变量i的

var num = 0;
    outermost:
    for (var i = 0; i < 10; i++) {
        for (var j = 0; j < 10; j++) {
            if (i == 5 && j == 5) {
                break outermost;
            }
            num++
        }
    }

    alert(num);//55

(五) with

 1.定义

with语句将代码作用域设定到特定对象中,其主要目的是简化多次编写同一对象,提高复用。

1 with (expression) statement

例子:

如下代码定义了一个获取用户信息函数,在函数体内new了一个person对象,且定义两个属性(name和address),然后将person对象with起来。

function GetUserInfo() {
        var person = new Object();
        person.name = "Alan_beijing";
        person.address = "China-shanghai";
        with (person) {
            return name +","+ address;
        }
    }
    alert(GetUserInfo());//Alan_beijing,China-shanghai

2.注意点

(1)在JavaScript开发中,慎用with语句,主要原因有二:其一是with语句影响性能;其二是with语句在严格模式下,会出错

(2)with语句将公有对象括起来,从而提高代码简洁度和提高代码复用性

(3)在执行with语句体内查找变量时,先看with体内是否存在所查找变量,若不存在,再查找with括起来的变量是否有要查找的属性。

如下例子更好地体现这一原则:

function GetUserInfo() {
        var person = new Object();
        person.name = "Alan_beijing";
        person.address = "China-shanghai";
        person.age = 35;
        with (person) {
            var sex = "男";
            var age = 40;
            return name + "," + sex + "," + age +","+ address;
        }
    }
    alert(GetUserInfo());//Alan_beijing,男,40,China-shanghai

(六)  switch

1.定义

switch语句就是我们平时所说的开关语句,它非常适用于多条件情况。

switch (expression) {
        case value: statement
            break;
        case value: statement
            break;
        default:statement
    }

例子:

如下代码,根据城市名称,查询城市类别

//根据不同城市,判断其属于几线城市
    function CityType(address) {
        switch (address) {
            case "Shanghai": alert("中国一线城市");
                break;
            case "Shenzhen": alert("中国一线城市");
                break;
            case "Beijing": alert("中国一线城市");
                break;
            default: alert("中国非一线城市");
        }
    }

    CityType("Shenzhen");//中国一线城市

2 注意点

(1)switch本质与if是一样的,都是解决多条件多分支问题;

(2)使用switch语句的真正目的是避免使用过多的if..else if ...else....语句;

 三  总结

本篇文章主要结合代码介绍了JavaScript的流程语句及其使用,重点结束了with,switch,for...in..,label,break和continue等语句,需要注意的是,在JavaScript中,流程语句都没有块级作用域,至于什么是块级作用域,将在接下来的文章中与大家分享。

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问JavaScript视频教程

相关推荐:

JavaScript图文教程

JavaScript在线手册

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

236

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

458

2024.03.01

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

778

2023.08.22

switch语句用法
switch语句用法

switch语句用法:1、Switch语句只能用于整数类型,枚举类型和String类型,不能用于浮点数类型和布尔类型;2、每个case语句后面必须跟着一个break语句,以防止执行其他case的代码块,没有break语句,将会继续执行下一个case的代码块;3、可以在一个case语句中匹配多个值,使用逗号分隔;4、Switch语句中的default代码块是可选的等等。

538

2023.09.21

Java switch的用法
Java switch的用法

Java中的switch语句用于根据不同的条件执行不同的代码块。想了解更多switch的相关内容,可以阅读本专题下面的文章。

422

2024.03.13

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

94

2023.09.25

java中break的作用
java中break的作用

本专题整合了java中break的用法教程,阅读专题下面的文章了解更多详细内容。

118

2025.10.15

java break和continue
java break和continue

本专题整合了java break和continue的区别相关内容,阅读专题下面的文章了解更多详细内容。

257

2025.10.24

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

158

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 5万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 3万人学习

R 教程
R 教程

共45课时 | 5.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号