JS(二)

來源:互聯網
上載者:User

標籤:多個   練習題   寫法   tin   關係   arguments   ...   迴圈條件   boolean   

  上周給大家介紹了一下JS基礎中一點東西,今天給大家介紹一下JS基礎中一個重要部分,迴圈和函數。

04-JS中的迴圈結構

  一、【迴圈結構的步驟】

  1、首先要先聲明迴圈變數。

  2、判斷迴圈條件

  3、執行迴圈體操作

  4、更新迴圈變數

  然後迴圈執行2-4,直到條件不成立時跳出迴圈。

  二、【while迴圈】

  1、while迴圈()中的運算式,運算結果可以是多種類型,但是最終都會轉為真假,轉換規則同if結構

  (1)、boolean類型:true為真,false為假

  (2)、string類型:所有非Null 字元串為真,Null 字元串為假

  (3)、number類型:一切非零數字為真,零為假

  (4)、null、undefined、NaN:全為假

  (5)、object類型:全為真。

  2、程式碼範例:

    var num=1;                                           //聲明迴圈變數
    while (num<=10){                                 //判斷迴圈條件
      document.write(num+"<br />");
      num++;                                         //更新迴圈變數
    }

  3、while迴圈的特點:先判斷,後執行

  三、【do-while迴圈】

  1、do-while迴圈與while迴圈幾乎是一模一樣的,唯一不同的便是do-while迴圈特點:先執行,後判斷,即使初始條件不成立,do-while迴圈也執行一次

  2、程式碼範例:

    var num=10;
    do{
      document.write(num+"<br/>");
      num--;
    }while(num>=0);

  四、【for迴圈】

  1、for迴圈有三個運算式:聲明迴圈變數;判斷迴圈條件;更新迴圈變數。

  2、三個運算式之間用分號分隔,三個運算式都可以省略,但是兩個分號缺一不可。

  3、for迴圈的執行特點:先判斷後執行;與while相同。

  4、for迴圈三個運算式都可以有多部分組成:第二部分多個判斷條件用&& ||連結,第一三部分用逗號分隔。

  5、程式碼範例: 

    for (var num =1,num1=10;num<=10;num++,num1--) {
      document.write(num);
    }

 

  五、【迴圈控制語句】

  1、break:跳出本層迴圈,繼續執行迴圈後面的語句,如果迴圈有多層嵌套,則break只能跳出一層。

  2、continue:跳過本次迴圈剩餘的代碼,繼續執行下一次迴圈。

  (1)、對於for迴圈,continue之後執行的語句是迴圈變數更新語句

  (2)、對於while、do-while迴圈,continue之後執行的語句是條件判斷,因此使用時必須將continue放到i++之後使用,否則continue將跳過i++導致死迴圈。

  3、return:只能用在函數中。(後面講)

  迴圈的內容其實不是很多,還有一個迴圈嵌套的內容,所謂的迴圈嵌套通俗的講就是迴圈中再套著一層迴圈。迴圈的內容是比較少,但是在JS中卻有著巨大的作用,需要多做練習來掌握,來鍛煉自己的邏輯思維能力。練習題網上都能搜到,想要學好迴圈就去多做練習吧!

05-JS中的函數

 一、【函數的聲明及調用】

  1、函數的聲明格式:

 

    function 函數名(參數1,參數2,...){
      //函數體代碼
      return 傳回值;
    }

 

  2、 函數的調用

  (1)、直接調用:函數名(參數1的值,參數2的值,....);

  (2)、 事件調用方式:直接在HTML標籤中,使用事件名="函數()"

    eg:<button onmouseout="SaySth(‘你好啊‘,‘red‘)">點擊按鈕,列印內容</button>

  3、函數中的注意事項

  (1)、 函數名必須要符合小駝峰法則,首字母小寫之後每個單字首大寫 ;

  (2)、 函數名後面的括弧中可以有參數,也可以沒有參數,分別稱為有參函數和無參函數;

  (3)、 聲明函數時的參數列表稱為形參列表,形式參數。(變數的名字); 

        function saySth(str,color){}
      調用函數時的參數列表,稱為實參列表,實際參數。(變數的賦值);
        saySth("你好","red");

  (4)、函數的形參列表個數與實參列表個數沒有實際關聯關係。函數參數的個數,取決於實參列表。如果實參列表的個數<形參列表,則未賦值的形參,將為Undefind。

  (5)、函數可以有傳回值,使用return返回結果,調用函數時,可以使用一個變數接收函數的返回結果。如果函數沒有傳回值,則接收的結果為Undefined;

    function func(){
      return="haha";
    }
    var num=func();//num="haha";

  (6)、函數中變數的範圍(在js只有函數擁有自己的範圍)

  >>>在函數中,使用var 聲明的變數,為局部變數。只能在函數內部訪問;

  >>> 不用var聲明的變數,為全域變數,在函數外部也能訪問;

  >>>函數的形參列表,預設為函數的局部變數,只能在函數內部使用。

  (7)、函數的聲明與函數的調用沒有先後之分,即可以在聲明函數(檢查)前調用函數(執行)

  二、【匿名函數的聲明使用】

  1、聲明一個匿名函數直接賦值給某一個事件

    window.onload=function(){}

  2、使用匿名函數運算式(稱為變數函數),將匿名函數賦值給一個變數

    聲明:var func=function(){}

     調用:func();

  注意:使用匿名函數運算式時,函數的調用語句必需放在函數生命語句之後!!

  3、自執行函數:

  (1)、!function(){}();//可以使用多種運算子開頭,一般用!

       !function(形參列表){}(實參列表); 

  (2)、(function(){}());//使用()將函數及函數後的括弧包裹

          (function(){})();//使用()只包裹函數部分

  三種寫法的特點:
  (1)、使用!開頭結構清晰,不容易混亂,推薦使用

  (2)、能夠表明匿名函數與調用的()為一個整體,官方推薦使用

  (3)、無法表明函數與之後()的整體性,不推薦使用。

  三、【函數的內部屬性】

  1、arguments對象

  (1)、作用:用於儲存調用函數時的所有實參。當我們調用函數並用實參賦值時,實際上參數列表已經儲存到arguments數組中,可以在函數中使用arguments[n]的形式調用,n從0開始。

  (2)、arguments數組的個數取決於實參列表,與形參列表無關,但是,一旦第n個位置的形參、實參、arguments都存在時,形參將與arguments綁定,同步變化(即在函數中修改形參,arguments也會改變,修改arguments的值,形參也會改變)。

  (3)、arguments.callee 是arguments的重要屬性,表示arguments所在函數的引用地址,在函數裡面可以使用arguments.callee()調用函數本身。在函數內部調用函數自身的寫法叫做遞迴。

  (4)、遞迴分為兩部分:遞和歸。以遞迴調用語句為界限,可以將函數分為上下兩部分

    遞:當函數執行上半部分,遇到自身的調用語句時,繼續進入內層函數,再執行上半部分,直到執行完最內層函數

    歸:當最內層函數執行以後,再從最內層函數開始,逐漸執行函數的下半部分。

  用一句話概括:當最外層函數執行時,遇到自身的調用語句,會進入內層函數執行,而外層函數的後半部分暫不執行,直到最內層函數執行完以後,再逐步向外執行。 

    //遞迴調用
    var num = 1;
    function func(){
      console.log(num);
      num++;
      if(num<=4){
      arguments.callee();//遞迴調用語句。
      }
      num--;
      console.log(num);
    }
    func();

 

 

 

 

 

 

 

 

    

JS(二)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.