簡單數據類型:字符串型、布爾型、數值型express
變量名能夠包含數字、字母、下劃線、$,但不能以數字開頭,大小寫敏感,不能是JavaScript關鍵字、避開保留字瀏覽器
//JavaScript保留字 break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof //ECMA 262規範的保留字 abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public //部分瀏覽器中典型的保留字 alert eval location open array focus math outerHeight blur function name parent boolean history navigator parseFloat date image number regExp document isNaN object status escape length onLoad string
變量定義:var、letide
變量做用域............this
字符串型:單引號或雙引號,支持轉移序列、Unicode,其餘類型可顯式地用string()轉換爲字符串型,或自動轉換編碼
escape()/unescape() 把ASCII碼轉換成URL編碼spa
encodeURI()/decodeURI() 能編碼非ASCII字符集debug
encodeURIComponent()/decodeURIComponent() 能編碼'&'、'+'、'=',可用於Ajax操做code
布爾型:true和false、沒必要用引號引發來,其餘類型可顯式地用Boolean()轉換爲布爾型blog
數值型:JS的數字都是浮點,但小數部分無關緊要ip
數值型沒有小數點或小數部分是會被當作十進制整數,範圍-253~253
浮點數範圍應限制在-231~231
正無窮大(Infinity)、負無窮大(-Infinity),JS發生數學溢出是返回正無窮大
八進制(以數字0開頭)、十六進制(以0x開頭)
parseInt()/parseFloat() parseInt()返回整數部分,parseFloat()返回字符串中第一個非數值字母前數字的值
parseInt()提供第二個參數(範圍在2到36之間),指定第一個參數的進制,轉換爲十進制
Number()
isFinite() Infinity和NaN返回false,其餘返回true
null、undefined、NaN(字符串型和布爾型不能轉換爲數字時被認爲是NaN)
isNaN()
const建立一個常量,只讀
賦值語句(支持 var a = b = c = "" 賦值)、帶運算符的賦值
算術語句
二元運算符:+、-、*、/ (結果是浮點數)、%
加法運算符有一個運算數是字符串時另外一個若不是字符串則隱式轉換成字符串,結果爲兩個字符串鏈接後的字符串
其它運算符,運算結果爲數值,運算數能夠是字符串,但字符串所包含的必須是數值
一元運算符:++(前/後綴)、--(前/後綴)、-
位運算符:&、|、^、<<、>>(帶符號右移)、>>>(用0補足的右移)
條件語句
if 語句
if (expression) {
...
}
if (expression) {
...
} else if (expression) {
...
} else {
...
}
switch 語句
switch (expression) {
case label1:
statements
[break]
case label2:
statements
[break]
...
default:
statements
}
根據expression執行case語句(均不符合且有default則執行default),直到第一個break退出
條件運算符
<、<=、>、>=、==、!=、===(等同/嚴格等於 只有類型和值都相同才爲真)、!==
邏輯運算符:&&、||、!
循環語句
while 循環
while (expression) {
...
}
do...while 循環
do {
...
} while (expression)
for 循環
for (initial value; condition; update) {
...
}
for (variable in object) {
...
}
非跨平臺標準的foreach