目錄
JavaScript語言的三大結構
選擇分支結構
1.單一分支結構
(1)if 判斷語句
2.雙分支結構
(2)if條件中的特殊情況
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 判斷語句

//语法结构:
if(){}
    if	//语句名
    ()	//是否执行的条件,true 或 false
    {}	//执行的内容
//例:
if(true){
   console.log("hello");//"hello"---if括号中是true则输出hello,若为false则不输出
}
登入後複製

2.雙分支結構

# #    有兩個選項,兩者必須執行一個

(1)if-else 判斷語句
//当条件判断为true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句执行else里的内容
if(条件){        
    执行语句1,条件为真时执行   
}else{        
	执行语句2,条件为假时执行    
}
登入後複製

(2)if條件中的特殊情況

1)常規情況
通常if的括號中填入一個判斷語句,判斷是真還是假if()括號裡面的東西我們通常也叫它邏輯點,判斷點 當括號內的內容為true時真,為false時假,true或false是布林值(boolean)代表真和假,需要透過邏輯運算子得到

2)特殊情況
先來看一個例題

if(1){ //括号内填写数字"1"会发生什么
    console.log("会输出么?"); //会输出吗?---会在控制台输出内容
}
登入後複製

數字1是數值型,不是布林值,更不是true為什麼會執行花括號內的語句了呢?

    在某些特定的情況下,電腦會進行一些隱式轉換,他和強制型別轉換不一樣,他不需要你做什麼,會自動轉換資料型別

在運算中,if(小括號)中的語句會發生隱式型別轉換

//if隐式转换例题
var a = "1",b = 2;    
console.log(a + b);//12---+号进行字符串拼接,拼成12,而不是进行数值运算等于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,數組也是物件的一種

  • ##             
  •                

    #       時為  
  •                 NaN:為false

  •                 undefined:為alse

isNaN():

        判斷是否為NaN可以間接判斷是否為數字,返回為true時為NaN不是數字,返回為false時是數字

#3.多分支結構

至少有兩個或以上,根據條件執行其中一條或多條語句

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

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的内容

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

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循环

while(){}
    while	//语句名
    ()		//执行条件、判断调价
    {}		//执行语句循环体
//例:
var i = 0;
while(i<10){//当括号内的条件为真时,会一直执行
    console.log(i);//输出0-9,十个数字
    i++;//改变计数器
}
//表示重复执行10次
//注意:为避免死循环,一定要在循环体内 改变 条件中使用变量的值-改变计数器。
//通常while被用在不确定执行次数的循环中,循环体内设置if判断,满足条件使用break结束循环,否则一直循环
登入後複製

2.do-while循环

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-while和while的区别
    do-while任何情况下都比while多执行一次(do-while无论真假都会执行一次while里的语句)
    do-while相对于while结构紧密些
登入後複製

3.for循环

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.死循环

无法靠自身控制结束的循环,称为死循环
不知道要循环几次的问题,利用死循环的原理,每次判断一个条件,直到满足条件,利用break跳出循环
通常使用while来进行死循环
登入後複製

5.continue关键字break关键字

continue和break都是用来控制循环结构的,主要是用来停止循环。   
控制关键字:控制循环的执行或停止
    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)

如何使用WebSocket和JavaScript實現線上語音辨識系統 如何使用WebSocket和JavaScript實現線上語音辨識系統 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術 WebSocket與JavaScript:實現即時監控系統的關鍵技術 Dec 17, 2023 pm 05:30 PM

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用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與WebSocket:打造高效率的即時影像處理系統 JavaScript與WebSocket:打造高效率的即時影像處理系統 Dec 17, 2023 am 08:41 AM

JavaScript是一種廣泛應用於Web開發的程式語言,而WebSocket則是一種用於即時通訊的網路協定。結合二者的強大功能,我們可以打造一個高效率的即時影像處理系統。本文將介紹如何利用JavaScript和WebSocket來實作這個系統,並提供具體的程式碼範例。首先,我們需要明確指出即時影像處理系統的需求和目標。假設我們有一個攝影機設備,可以擷取即時的影像數

See all articles