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
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...