JavaScript基礎之數據類型及轉換
1. 數據類型
1.1 變量的數據類型
變量的數據類型決定了如何將代表這些值的位存儲到計算機的內存中。JavaScript是一種弱類型或者說動態語言。 這意味着不用提前聲明變量的類型,在程序運行過程中,類型會被自動確定。
在代碼運行時,變量的數據類型是由JS引擎,根據右邊變量值的數據類型來判斷的,運行完畢後,變量就確定了數據類型。
JavaScript具有動態類型,同時意味着相同的變量可用作不同的數據類型
1.2 數據類型的分類
js把數據類型分爲兩類:
- 簡單數據類型:Number、String、Boolean、Undefined、Null
- 複雜數據類型:Object
1.3 簡單數據類型(基本數據類型)
簡單數據類型 | 說明 | 默認值 |
---|---|---|
Number | 數字型,包含整型和浮點型 | 0 |
String | 字符串類型 | ‘’ |
Boolean | 布爾值類型,false 代表0 ,true 代表1 |
false |
Undefined | var a; 聲明瞭變量a但是沒有給值,此時a = undefined |
undefined |
Null | var a = null; 聲明瞭變量a爲空值 |
null |
1.4 數字型Number
-
數字型進制
// 1.八進制數字序列範圍:0~7 var num1 = 07; //對應十進制的7 var num2 = 016; //對應十進制的14 var num3 = 077; //對應十進制的63 // 2.十六進制數字序列範圍:0~9以及a~f(或A~F) var num4 = 0xfff; //對應十進制的4095
在JS中八進制前加
0
,十六進制前加0x
-
數字型範圍
JavaScript中數值的最大值和最小值:alert(Number.MAX_VALUE); //1.7976931348623157e+308 alert(Number.MIN_VALUE); //5e-324
-
數字型三個特殊值
alert(Infinity); //正無窮,大於任何值 alert(-Infinity); //負無窮,小於任何值 alert(NaN); //NaN,Not a Number,代表一個非數值
-
isNaN(variable)
函數
判斷變量variable
是否爲非數值,如果是非數值(即變量不是數字),則返回true
,否則(即變量是數字)返回false
。
1.5 字符串型String
-
字符串型可以是引號(
''
或""
)中的任意文本。 -
JS更推薦使用雙引號
""
-
JS可以用單引號嵌套雙引號,或者用雙引號嵌套單引號(內雙外單,或內單外雙)
var string_Msg = '大家好,"Javier_Ji"是我的英文名'; var string_Msg2 = "大家好,'Javier_Ji'是我的英文名";
-
字符串轉義符
轉義符都是\
反斜槓開頭的,常用的轉義符如下所示:轉義符 說明 \n
換行符 \\
斜槓\ \'
單引號 \"
雙引號 \t
tab
縮進\b
空格 -
字符串長度
字符串是由若干字符組成的,這些字符的數量就是字符串的長度。通過length
屬性可以獲取字符串的長度。如:var string_Msg = 'Hello World'; console.log(string_Msg.length); //結果爲:11
-
字符串的拼接
· 多個字符串可以用+
進行拼接,其拼接方式爲:字符串 + 任意類型 = 拼接後的新字符串
· 拼接前會把與字符串相加的任意類型轉換成字符串,再去拼接示例:
console.log(100 + '123'); //結果爲:100123
-
字符串拼接變量
示例:var age = 18; console.log('我今年已經' + age + '歲了'); //結果爲:我今年已經18歲了
1.6 布爾型Boolean
- 布爾型有兩個值:
true
表示真和false
表示假 - 布爾型和數字相加的時候,
true
的值爲1,false
的值爲0
1.7 Undefined和Null
-
一個聲明後沒有被賦值的變量會有一個默認值
undefined
var a; console.log(a); //undefined console.log('你好' + a); //你好undefined console.log(11 + a); //NaN console.log(true + a); //NaN
-
一個聲明變量給
null
值,裏面存的值爲空。var b = null; console.log(b); //null console.log('你好' + b); //你好null console.log(11 + b); //11 console.log(true + b); //1
2. 數據類型轉換
使用表單、prompt
獲取的數據默認是字符串類型的,不能直接進行加法運算,而需要轉換變量的數據類型。通俗來說,就是把一種數據類型轉換成另一種數據類型
2.1 轉換爲字符串
-
轉換方式:
方式 說明 toString()
函數轉換成字符串型 String()
強制轉換函數轉換成字符串型 js隱式轉換:加法拼接字符串 和字符串拼接的結果都爲字符串
2.2 轉換爲數字型
-
轉換方式:
方式 說明 parseInt(String)
函數將 string
類型轉換成整數數值型parseFloat(String)
函數將 string
類型轉換成浮點數數值型Number()
強制轉換函數將 string
類型轉換成數值型js隱式轉換( -
、*
、/
)利用算術運算隱式轉換爲數值型
2.3 轉換爲布爾型
-
轉換方式:
方式 說明 Boolean()
函數其他類型轉換成布爾值 -
解釋:
· 代表 空、否定的值 會被轉換成false
,如:''
、0
、NaN
、undefined
、null
· 其餘值都會被轉換爲true