javascript學習筆記——語句

來源:互聯網
上載者:User

標籤:avs   ++   cas   先後   script   方法   刪除   語句   span   

語句就是javascript整句和命令。

運算式語句:

count++;    alert(123);    a = 100;  .......

複合陳述式和空語句:

複合陳述式就是用逗號將多個語句連在一起形成複合陳述式。{x=1;y=2;alert(x);alert(y)}

ps:在javscript中沒有塊級範圍,只有函數範圍。

空語句包含0條語句,在部分時候也是有用的。

如for(var i = 0; i < 3 ; a[i++] =0);在這裡最後是一個分號,會執行for迴圈括弧裡面的語句。

聲明語句:

var    聲明一個變數。

假如var聲明在一個函數範圍內,那麼這個變數就是局部範圍。

ps:變數在函數範圍中有提前聲明的問題

window.onload = function(){    var b = "hello world";    function a(){        console.log(b);  //變數提前聲明,undifined        var b = "world hello";  //由於變數b在這裡定義了,所以導致變數提前聲明        console.log(b);                        }    console.log(b);    a();}

在上面的代碼中,函數a中先輸出b,但是b並沒有在之前聲明,但是在b之後有聲明b=“world hello",根據變數在函數範圍提前聲明的規則,那麼var = b會提前到函數塊的最頂上,所以第一個console.log(b)為undifined。

function   定義函數,必須使用花括弧,即使是一條語句,不可省略花括弧。

var a = function(){}  函數定義運算式方式

function a(){}   函式宣告方式

這兩種定義函數的方式是有區別:

第一種運算式方式在定義之後,var聲明的變數會提前到範圍的頂部,但是函數塊還在原來的地方,所以假如在函數塊之上調用函數就會報錯。

第二種函式宣告方式在聲明之後,變數和函數塊都會提前到範圍的頂部,可以做作用於上下文,所以在函數塊之上調用函數可以正常使用。

window.onload = function(){                alert(b());   //"world hello"                alert(a());   //Uncaught TypeError: a is not a function                                //函數運算式中,只有變數聲明被提前了,變數初始化代碼依舊還在原來的位置                var a = function(){                    return "hello world";                }                                //函式宣告語句,函數名稱和函數體都提前了,可以在聲明之前調用它                function b(){                    return "world hello"                }            }

條件陳述式:

if    else if     switch

if(expression)  statement    if裡面的expression必須要寫,statement也是必須要寫的語句。

switch可以處理多條分支的情況

switch(expression){

     case (expression) :

          statement;

          break;

    ...........

     default :

         statement;

         break;

}

在switch中假如沒有break,那麼語句會一直執行直到switch最後一條語句。

在函數中可以中return代替break。

case的匹配是使用"==="進行比較的,所以匹配的時候不會進行類型的轉換。

switch的比較是從上到下的,default可以放到任何一個位置的。

迴圈

while     do/while    for     for/in

do/while至少執行一次的迴圈,do是先執行語句,然後在通過while去進行判斷

for/in是用來遍曆一個對象的屬性的

for(variable  in   object),即使object是一個原始值,也會轉換成封裝對象來遍曆的。

但是遍曆也是有條件的,只能遍曆可枚舉的屬性,而javascript核心方法和對象屬性都是不可枚舉的,所以在遍曆的時候這些都沒有辦法遍曆出來,而自己定義的對象屬性和方法就可以遍曆出來。

如果for/in的迴圈體在還沒有遍曆到某屬性的時候就刪除了,那麼這個屬性就不會再擷取到;如果for/in迴圈體中增加了一個某屬性,那麼它也不會被擷取到。

屬性枚舉的順序,一般來說通過屬性定義的先後順序來枚舉的。

 

javascript學習筆記——語句

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.