Javascript基礎Day3

来源:https://www.cnblogs.com/wpdh/archive/2022/07/31/16537880.html
-Advertisement-
Play Games

Javascript基礎Day3 1、迴圈:重覆執行代碼 特征:有規律性的重覆執行相似代碼 為什麼要使用迴圈? 主要是為了減少頁面代碼 for迴圈: 語法: for(表達式1;表達式2;表達式3){ 代碼 } 表達式1:初始值,定義在for迴圈中需要用的變數 表達式2:判斷條件,判斷初始值是否滿足該 ...


Javascript基礎Day3

1、迴圈:重覆執行代碼    特征:有規律性的重覆執行相似代碼    為什麼要使用迴圈?         主要是為了減少頁面代碼    for迴圈:     語法:         for(表達式1;表達式2;表達式3){             代碼         }            表達式1:初始值,定義在for迴圈中需要用的變數         表達式2:判斷條件,判斷初始值是否滿足該條件         代碼塊:當迴圈條件滿足時,所要執行的代碼         表達式3:步長,每次迴圈之後,初始值會發生遞增或遞減的操作 初始化:var i = 0; 判斷:i<5(i的值為0,返回true 輸出:0 更新:i++(執行後i=1 以此類推的加下去,知道4為止,判斷為<5所以不能超過5,所以到4就停止執行跳出迴圈 例:
        for(var i=0;i<5;i++ )
        {
            document.write(i+"<br/>");
        }
        註:             1、使用迴圈時,必須要註意迴圈條件,如果迴圈條件得不到滿足,就會造成死迴圈             2、可以把for迴圈中的表達式寫在其他位置中,不在小括弧中書寫;但是不能省略;號   for迴圈嵌套:     語法:         for(表達式1;表達式2;表達式3){             ...代碼1             for(表達式1;表達式2;表達式3){                 ...代碼2             }         }     註:當外層迴圈執行一次時,內層迴圈只要滿足條件都會執行,必須要等內層迴圈全部執行完畢時,才會繼續執行第二次外層迴圈...  練習題:   /*        列印99乘法表,並美化一下        */
        for(var i=1;i<=9;i++){
         //內層迴圈表示列數
         for(var j=1;j<=i;j++){
            document.write(i+"x"+j+'='+(i*j)+'&nbsp;&nbsp;')
         }
         document.write("<br/>")
       }

 

for(var a=1,b=2;a<=15,b<=10;a++,b++){
    console.log(a,b)
}
註:以上for迴圈寫法;如果表達式2中的兩個條件中間是,號時,只需要滿足第二個條件就可以執行;如果兩個條件中是||運算符時,只要任意滿足其中一個條件就可以執行;如果兩個條件中是&&運算符時,那麼必須要兩個條件同時滿足,才可以執行

 

while迴圈:當條件滿足時,就執行{}括弧中的代碼,一旦條件不滿足,則跳出迴圈
    語法:
        while(條件){
            迴圈體
        }
    例:

        var n = 1;
        var sum = 0;
        //如果n小於等於100,則會執行while迴圈
        while (n <= 100)
        {
            sum=sum+n;
            n=n+1;
        }
        document.write("1+2+3+…+100 = " + sum);
  

  變數n用於遞增(也就是不斷加1),初始值為1。sum用於求和,初始值為0。對於while迴圈,我們一步步來給大家分析一下。

  第1次執行while迴圈,sum=0+1,n=2

  第2次執行while迴圈,sum=0+1+2,n=3

  第3次執行while迴圈,sum=0+1+2+3,n=4

  ……

  第100次執行while迴圈,sum=0+1+…+100,n=101

 

   每一次執行while迴圈之前,我們都需要判斷條件是否滿足。如果滿足,則繼續執行while迴圈;如果不滿足,則退出while迴圈。

當我們第101次執行while迴圈時,由於此時n=101,而判斷條件n<=100返回false,此時while迴圈不再執行(也就是退出while迴圈)。由於退出了while迴圈,接下來就不會再迴圈執行while中的程式,而是執行while後面的 document.write()了。

 

do while迴圈:跟while迴圈類似,但是它是不管條件是否滿足,先執行一次迴圈體;然後在來進行條件判斷     語法:         do{             迴圈體         }while(條件) 例:
        var n = 1;
        var sum = 0;
        do
        {
            sum += n;
            n++;
        }while (n <= 100);
        document.write("1+2+3+…+100 = " + sum);

***break:終止迴圈,當條件滿足時,直接跳出迴圈,不在往下繼續執行 例:
    function myFunction() {
        var text = ""
        var i;
        for (i = 0; i < 5; i++) {
            if (i == 3) {
               break;
        }
        text += "The number is " + i + "<br>";
    }
	console.log(text)
    }
    myFunction()
   註:break關鍵字只能跳出當前迴圈體,不能同時跳出多層迴圈體
continue:結束本次迴圈;當條件滿足時,直接結束本次迴圈,繼續執行下一次迴圈 例:
    function myFunction() {
        var text = "";
        var i;
        for (i = 0; i < 5; i++) {
            if (i == 3) {
            continue;
        }
        text += "The number is " + i + "<br>";
    }
        console.log(text)
    }
    myFunction()

***函數:封裝了一些重覆執行的代碼塊;     為什麼要使用函數?         1、減少頁面的代碼量         2、有利於代碼的維護     函數的作用:         1、封裝一些重覆的代碼,可以隨時隨地調用         2、避免一些代碼在非必要的情況下執行     創建函數         1、聲明式函數             語法:                 function 函數名(){                     封裝的代碼                 }   例:
    function fn(){
        console.log('hello')
    }
    fn()
        2、賦值式函數             語法:                 var 變數名=function(){                     封裝的代碼                 }     函數調用:函數名()   例:
    var fn = function(){
        console.log('hello')
    }
    fn()
      聲明式函數和賦值式函數之間的區別:         1、聲明式函數可以在創建之前調用,也可以在創建之後調用            賦值式函數只能在創建之後調用         2、聲明式函數具有函數聲明提升,可以把函數體一起提升到當前作用域的最頂端            賦值式函數具有變數聲明提升,把變數的定義提升到當前作用域的最頂端       函數中的參數:形參和實參         形參:在創建函數時,函數名後面小括弧中的參數就是形參         實參:在調用函數時,函數名後面小括弧中的參數就是實參           註:實參和形參的關係是一一對應,不能交叉賦值       參數的個數不一致時:         形參的個數多於實參,多出來的形參值為undefined         實參的個數多於形參,多出來的實參忽略    聲明提升:聲明式函數和顯示定義變數才具有聲明提升    註意:        1、所有聲明提升都是提升到當前作用域的最頂端        2、同一個變數只會聲明一次,其他的都會被忽略        3、函數聲明提升的優先順序高於變數聲明提升的優先順序        4、函數的聲明提升會同時把函數體一起提升,這樣就可以在函數創建之前調用     註:在同一個頁面中時,變數名和函數名最好不要同名
   
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • PDFelement Pro Mac是一款可以幫助用戶編輯PDF的工具,其設計的功能針對中小型用戶開發,支持常規的編輯、修改、操作,並且可以實現PDF文件轉換功能,您可以將word、Excel等office文件轉換為PDF文件保存,讓您可以擁有一款簡單、高效的PDF辦公軟體。 詳情:Wondersh ...
  • SoundSource 5 for Mac是一款優質的音頻控制軟體,可讓您直接從菜單欄調整輸入,輸出和音效設備以及音量設置。啟用輸入設備的軟播放到您想要的輸出,這樣您就可以聽到通過任何麥克風或其他來源發出的聲音。 詳情:SoundSource 5 for Mac(音頻控制工具) 功能介紹 1、快速訪 ...
  • 上篇文章講到使用MySQL的Explain命令可以分析SQL性能瓶頸,優化SQL查詢,以及查看是否用到了索引。 我們都知道創建索引可以提高查詢效率,但是具體該怎麼創建索引? 哪些欄位適合創建索引? 哪些欄位又不適合創建索引? 本文跟大家一塊學習一下如何創建合適資料庫索引。 ...
  • 使用flink的時候難免和redis打交道,相信大家都使用過flink-connector-redis來處理,但是當我想要使用RedisSink寫入集群時,發現居然不支持使用密碼,於是有了這篇筆記。 ...
  • 2016年是對話式設計之年。消息應用正以驚人的好評度和參與率,占領世界和app store的排行榜。每個社區產品、應用市場、點播服務、約會應用、社交游戲和電商產品,為了提高好評度、參與率和銷量,都已經或即將加入消息功能。 有大量關於對話式UI的討論,還有這種人機對話模式如何通過簡單的指令和文字反饋( ...
  • 視頻地址:https://learning.dcloud.io/#/?vid=0 開發工具:XbuilderX 官方教程:https://cn.vuejs.org/v2/guide/ 序言 Vue.js :漸進式JavaScript框架 Vue.js優點 1.體積小 壓縮後33K; 2.更高的運行效 ...
  • 1.shift+alt+f 格式化代碼(vscode) 2.css的複合選擇器 後代選擇器:選後代(不一定是兒子) 空格隔開 如ol li{樣式聲明} 更好地選擇想要的標簽 也可以用class表示 如 .nav.li.a 子選擇器 >親兒子 並集選擇器 逗號 div,p{樣式聲明} 最後一個選擇器 ...
  • Javascript基礎Day4 函數(下) 作用域(重點) 什麼是作用域,就是一個變數可以生效的範圍 變數不是在所有地方都可以使用的,而這個變數的使用範圍就是作用域 全局作用域 整個頁面起作用,在<script>內都能訪問到; 在全局作用域中有全局對象window,代表一個瀏覽器視窗,由瀏覽器創建 ...
一周排行
    -Advertisement-
    Play Games
  • 1、預覽地址:http://139.155.137.144:9012 2、qq群:801913255 一、前言 隨著網路的發展,企業對於信息系統數據的保密工作愈發重視,不同身份、角色對於數據的訪問許可權都應該大相徑庭。 列如 1、不同登錄人員對一個數據列表的可見度是不一樣的,如數據列、數據行、數據按鈕 ...
  • 前言 上一篇文章寫瞭如何使用RabbitMQ做個簡單的發送郵件項目,然後評論也是比較多,也是準備去學習一下如何確保RabbitMQ的消息可靠性,但是由於時間原因,先來說說設計模式中的簡單工廠模式吧! 在瞭解簡單工廠模式之前,我們要知道C#是一款面向對象的高級程式語言。它有3大特性,封裝、繼承、多態。 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 介紹 Nodify是一個WPF基於節點的編輯器控制項,其中包含一系列節點、連接和連接器組件,旨在簡化構建基於節點的工具的過程 ...
  • 創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部 ...
  • 最近在不少自媒體上看到有關.NET與C#的資訊與評價,感覺大家對.NET與C#還是不太瞭解,尤其是對2016年6月發佈的跨平臺.NET Core 1.0,更是知之甚少。在考慮一番之後,還是決定寫點東西總結一下,也回顧一下.NET的發展歷史。 首先,你沒看錯,.NET是跨平臺的,可以在Windows、 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 添加節點(nodes) 通過上一篇我們已經創建好了編輯器實例現在我們為編輯器添加一個節點 添加model和viewmode ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...
  • 類型檢查和轉換:當你需要檢查對象是否為特定類型,並且希望在同一時間內將其轉換為那個類型時,模式匹配提供了一種更簡潔的方式來完成這一任務,避免了使用傳統的as和is操作符後還需要進行額外的null檢查。 複雜條件邏輯:在處理複雜的條件邏輯時,特別是涉及到多個條件和類型的情況下,使用模式匹配可以使代碼更 ...
  • 在日常開發中,我們經常需要和文件打交道,特別是桌面開發,有時候就會需要載入大批量的文件,而且可能還會存在部分文件缺失的情況,那麼如何才能快速的判斷文件是否存在呢?如果處理不當的,且文件數量比較多的時候,可能會造成卡頓等情況,進而影響程式的使用體驗。今天就以一個簡單的小例子,簡述兩種不同的判斷文件是否... ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...