目录
JavaScript语言的三大结构
选择分支结构
1.单分支结构
(1)if 判断语句
2.双分支结构
(1)if-else 判断语句
(2)if条件中的特殊情况
1)常规情况
2)特殊情况
3)if中的隐式类型转换
3.多分支结构
(1)多个if(){}else{}嵌套使用
(2)使用switch(){}语句
(3)switch的注意事项
循环结构
1.while循环
2.do-while循环
3.for循环
4.死循环
5.continue关键字break关键字
首页 web前端 前端问答 javascript有哪些语句结构

javascript有哪些语句结构

Nov 04, 2021 pm 04:06 PM
javascript

javascript有三种语句结构:1、顺序结构;自上而下,逐行执行。2、选择分支结构;多条路径,根据不同条件,只执行其中的一条或选择性的执行多条。3、循环结构;重复执行某些代码。

javascript有哪些语句结构

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

JavaScript语言的三大结构

  • 顺序结构

    自上而下,逐行执行,先来后到,相同语句,后面的覆盖前面的

  • 选择分支结构

    多条路径,根据不同条件,只执行其中的一条或选择性的执行多条

  • 循环结构

    重复执行某些代码,代替某些重复性操作,减少代码冗余,提升效率

选择分支结构

1.单分支结构

    两条路径二选一,做或者不做,有或者没有,执行或不执行;

(1)if 判断语句

1

2

3

4

5

6

7

8

9

//语法结构:

if(){}

    if  //语句名

    ()  //是否执行的条件,true 或 false

    {}  //执行的内容

//例:

if(true){

   console.log("hello");//"hello"---if括号中是true则输出hello,若为false则不输出

}

登录后复制

2.双分支结构

有两个选项,两者必定执行一个

(1)if-else 判断语句

1

2

3

4

5

6

//当条件判断为true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句执行else里的内容

if(条件){       

    执行语句1,条件为真时执行  

}else{       

    执行语句2,条件为假时执行   

}

登录后复制

(2)if条件中的特殊情况

1)常规情况

通常if的括号中填写一个判断语句,判断是真还是假if()括号里面的东西我们通常也叫它逻辑点,判断点 当括号内的内容为true时真,为false时假,true或false是布尔值(boolean)代表真和假,需要通过逻辑运算符得到

2)特殊情况

先来看一个例题

1

2

3

if(1){ //括号内填写数字"1"会发生什么

    console.log("会输出么?"); //会输出吗?---会在控制台输出内容

}

登录后复制

数字1是数值型,不是布尔值,更不是true为什么会执行花括号内的语句了呢?

在一些特定的情况下,计算机会进行一些隐式转换,他和强制类型转换不一样,他不需要你做什么,会自动对数据类型进行转换

在运算中,if(小括号)中的语句会发生隐式类型转换

1

2

3

//if隐式转换例题

var a = "1",b = 2;   

console.log(a + b);//12---+号进行字符串拼接,拼成12,而不是进行数值运算等于3

登录后复制

"+"号有两种含义:

  • "+"号两边都是数字:此时是数学中的"+"号运算符,将两个数字相加,进行数值运算

  • "+"号两边出现一个或以上个字符:此时是字符串的拼接

并且优先进行字符串拼接,所以在检测到+号左右两边只要存在字符串的时候,会自动将另一边不是字符串的数据,转成字符串,再进行字符串拼接操作(字符串拼接就是将"+"号两边的内容完整的不做任何修改的前后接在一起)

注意:除了+号有两层意义为外"-*/%"号只有数学意义,所以当进行"-*/%"的时候,默认将运算符两边的数据类型隐式转换成数字类型再进行运算

那么如果想要进行相加运算,又不想被"+"号隐式转换为字符怎么办。

方法:

1

2

3

var a = "1",b = 2;   

console.log(a + b);//12---默认进行字符串拼接输出字符串"12"

console.log((a-0) + b );//3---先通-0操作将字符转换为数字,再进行相加,输出数值3

登录后复制
3)if中的隐式类型转换

if()中只需要布尔值,那么在if判断中,会把括号内所有的数据类型,都隐式转换成布尔型,任何类型最终都被转成布尔类型

  • 数字:非0为true,0为false

  • 字符:非空为true,空为false

  • 对象:在任何时候都为true

  • 数组:在任何时候都为true,数组也是对象的一种

  • 函数:在任何时候都为true,函数也是特殊的对象

  • NaN:为false

  • undefined:为false

  • null:为false

isNaN():

判断是否为NaN可以间接判断是否为数字,返回为true时为NaN不是数字,返回为false时是数字

3.多分支结构

至少有两个或以上,根据条件执行其中一条或多条语句

(1)多个if(){}else{}嵌套使用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

if(true){

    console.log("hello");

}else{

    if(true){

        console.log("hello");

    }else{

        console.log("world");

    }

}

或者

if(true){

    console.log("hello1");

}else if(true){

    console.log("hello2");

}else if(true){

    console.log("hello3");

}else if(true){

    console.log("hello4");

}

登录后复制

(2)使用switch(){}语句

系统提供的语句

switch(){}

  • switch语句名

  • ()要判断的值

  • {}执行语句,所有的分支路径都放在一个花括号内

  • case匹配()内的值则执行,不匹配则往下找,找到执行,都没找到输出default的内容

案例:输入数字,判断后输出星期几

1

2

3

4

5

6

7

8

9

10

switch(n){

    case 1:console.log("星期一");break;

    case 2:console.log("星期二");break;

    case 3:console.log("星期三");break;

    case 4:console.log("星期四");break;

    case 5:console.log("星期五");break;

    case 6:console.log("星期六");break;

    case 7:console.log("星期七");break;

    default:console.log("请输入1-7之间的数字");

}

登录后复制

(3)switch的注意事项

case的穿透特性:

在一个switch中,只会进行一次case判断,如果判断成功,后面的case则不会判断全部执行
阻止case穿透
使用关键字break;可以跳出当前循环,后面的都不执行

switch和if-else的区别

  • switch只能判断具体的值,不能判断范围,不会进行隐式转换

  • if else可以判断范围

循环结构

1.while循环

1

2

3

4

5

6

7

8

9

10

11

12

13

while(){}

    while   //语句名

    ()      //执行条件、判断调价

    {}      //执行语句循环体

//例:

var i = 0;

while(i<10){//当括号内的条件为真时,会一直执行

    console.log(i);//输出0-9,十个数字

    i++;//改变计数器

}

//表示重复执行10次

//注意:为避免死循环,一定要在循环体内 改变 条件中使用变量的值-改变计数器。

//通常while被用在不确定执行次数的循环中,循环体内设置if判断,满足条件使用break结束循环,否则一直循环

登录后复制

2.do-while循环

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

do{}while(){}

    do      语句名

    {}      do的执行语句

    while   语句名2

    ()      执行条件

    {}      while的执行语句

     

do{

    console.log("do的执行语句");

    i++;//改变计数器

}while(i<10){

    console.log("while的执行语句");

}

//条件为true时,会执行do后面的语句

//条件为false时,会执行一次while后面的语句

//注意:do-while的改变计数器要鞋子啊do语句中,否则会造成死循环

do-whilewhile的区别

    do-while任何情况下都比while多执行一次(do-while无论真假都会执行一次while里的语句)

    do-while相对于while结构紧密些

登录后复制

3.for循环

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

for(){}

    for     语句名

    ()      条件组

    {}      循环体

for(var i = 0; i < 10; i++){

    console.log(i);//打印0-9。共十个数字

}

 

for循环括号内的内容

var i=0;    //定义循环开始时计数器的初始值

i<10;        //设置停止循环的条件,满足条件执行循环,不满足条件结束循环

i++     //计数器加一(这条语句是在循环体内容结束后才执行)

//注意:上面的三个内容必须用分号“;”隔开,否则报错

 

for循环是最长使用的循环,还可进行for循环嵌套

for(var i=0;i<10;i++){

    for(var j=0;j<10;j++){

        console.log(i+j);

    }

}

登录后复制

4.死循环

1

2

3

无法靠自身控制结束的循环,称为死循环

不知道要循环几次的问题,利用死循环的原理,每次判断一个条件,直到满足条件,利用break跳出循环

通常使用while来进行死循环

登录后复制

5.continue关键字break关键字

1

2

3

4

continuebreak都是用来控制循环结构的,主要是用来停止循环。  

控制关键字:控制循环的执行或停止

    break:结束循环语句,直接跳出当前循环语句,后面所有的下一次循环都不执行。

    continue:表示跳过当前所在的本次循环(continue下面的语句不执行跳过),下一次循环还会正常执行

登录后复制

【推荐学习:javascript高级教程

以上是javascript有哪些语句结构的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1279
29
C# 教程
1257
24
WebSocket与JavaScript:实现实时监控系统的关键技术 WebSocket与JavaScript:实现实时监控系统的关键技术 Dec 17, 2023 pm 05:30 PM

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何使用WebSocket和JavaScript实现在线语音识别系统 如何使用WebSocket和JavaScript实现在线语音识别系统 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

如何利用JavaScript和WebSocket实现实时在线点餐系统 如何利用JavaScript和WebSocket实现实时在线点餐系统 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

如何使用WebSocket和JavaScript实现在线预约系统 如何使用WebSocket和JavaScript实现在线预约系统 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

JavaScript和WebSocket:打造高效的实时天气预报系统 JavaScript和WebSocket:打造高效的实时天气预报系统 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

简易JavaScript教程:获取HTTP状态码的方法 简易JavaScript教程:获取HTTP状态码的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

javascript中如何使用insertBefore javascript中如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。

如何在JavaScript中获取HTTP状态码的简单方法 如何在JavaScript中获取HTTP状态码的简单方法 Jan 05, 2024 pm 01:37 PM

JavaScript中的HTTP状态码获取方法简介:在进行前端开发中,我们常常需要处理与后端接口的交互,而HTTP状态码就是其中非常重要的一部分。了解和获取HTTP状态码有助于我们更好地处理接口返回的数据。本文将介绍使用JavaScript获取HTTP状态码的方法,并提供具体代码示例。一、什么是HTTP状态码HTTP状态码是指当浏览器向服务器发起请求时,服务

See all articles