JavaScript學習筆記---基本語法

yufang93發表於2017-12-18

語句

以分號;標誌一個語句的結束,eg

var a = 3;複製程式碼

通常一行為一個語句,但是可以有一行多個語句,eg

var a = 1;var b = 2; 複製程式碼

變數

宣告一個變數

var a;複製程式碼

給該變數賦值

a = 1;複製程式碼

將宣告和賦值放在一起處理稱作定義

var a = 1;複製程式碼

和iOS不同的是,JavaScript是動態型別的

var a = 1;
a = "hello"複製程式碼

在iOS中,則不可以這樣,或者在宣告的時候,或者在賦值的時候,變數的型別就是確定了的.

宣告瞭一個變數卻沒有賦值,然後使用該變數,報錯:undefined

var a;
a;//undefined複製程式碼

既沒有宣告一個變數也沒有賦值,然後使用該變數,報錯:undefined

b;//undefined複製程式碼

識別符號(變數名,函式名的命名規則)

第一個字元不能是數字

不能包含星號

不能包含加減號

不能包含連詞線

中文合法,eg

var 我是變數 = 1;複製程式碼

保留字

arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield

不是保留字但是有特殊含義的字元,也不應用作識別符號

InfinityNaNundefined

註釋(和iOS一樣)

單行註釋

//單行註釋複製程式碼

多行註釋

/*
 多行註釋
 多行註釋
*/複製程式碼

相容HTML單行註釋

<!--單行註釋-->複製程式碼

區塊

和iOS不同,不表示獨立的作用域,區塊內外作用域相同,eg

{
   var a = 1;
}
a = 5;複製程式碼

流程控制

if...else語句switch和oc是一樣的,需要注意的是,判斷條件建議使用恆等於"===",一是比較嚴格,二是系統的Switch採用的是恆等於.

恆等於"==="和等等於"=="的區別在於,"=="會把型別不同的數值先轉換為原始數值,然後再做比較,"==="則不會做型別轉換,如果型別不同直接返回false

1 == true;//true
1 === true;//false複製程式碼

迴圈語句也和oc相同,do...while,while...do,for...

標籤

作用有點像oc裡面的goto,跳到指定的程式碼行.

outside:
for (var i = 0;i<10;i++){
    for(var j=0;j<10;j++){
        if (i === 1 && j ===2) break outside;
    }
}複製程式碼

上述程式碼意為:如果i===1&&j===2直接跳出雙層迴圈;


相關文章