Javascript中的變量能夠保存任何數據,是弱類型語言,或者稱之爲"動態類型"的編程語言。Javascript共有七種數據類型,具體以下。javascript
number類型用於正數和浮點數。除了常規的數字,一些特殊的數值也屬於這種類型。好比:Infinity,-Infinity和NaN。java
alert(1/0)// Infinity
alert(Infinity)//Inifinity
複製代碼
任何對NaN的進一步操做都會返回NaN編程
在JS中,數學運算是安全的,能夠作任何操做:除以0,將非數字字符串視爲數字,等等。腳本永遠不會致命的錯誤。最壞的狀況是返回NaN。安全
JS中的字符串必須被包裹在引號中。 有三種包含字符串的方式:bash
hello
反引號是功能擴展的引用,容許經過${},將變量和表達式嵌入到字符串中。只有兩個值,true和false編程語言
只有一個值,是null,表示無,空,或者值未知。函數
只有一個值,含義是 未被賦值 若是變量被聲明,而未被賦值,那麼它的值就是undefined。spa
object類型是特殊的類型,屬於複雜類型。code
Symbol類型用於建立對象的惟一標識符。對象
大多數狀況下,運算符和函數會自動將值轉換爲正確的類型。
alert會自動將任何值轉換爲字符串,也能夠顯式的調用Stirng(value)
進行轉換。
在算術函數和表達式中,會自動進行number類型轉換,也可使用Number(value)
進行轉換。 number類型轉換規則:
加號"+" 幾乎全部的算術運算符都會將值轉換爲數字,加號是個例外,若是其中一個運算元是字符串,另一個也會轉換爲字符串。
邏輯操做或者顯式調用Boolean(value)都會觸發boolean類型轉換。 轉換規則:
注意: 包含0的字符串"0" 會被轉化爲 true(非空字符串會被轉化爲true)