語句
以分號;標誌一個語句的結束,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
不是保留字但是有特殊含義的字元,也不應用作識別符號
Infinity
、NaN
、undefined
註釋(和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直接跳出雙層迴圈;