js之變數與資料型別
變數
宣告
一個變數被重新復賦值後,它原有的值就會被覆蓋,變數值將以最後一次賦的值為準。
var age = 18;
age = 81; // 最後的結果就是81因為18 被覆蓋掉了
同時宣告多個變數
同時宣告多個變數時,只需要寫一個 var/let, 多個變數名之間使用英文逗號隔開。
let age = 10,
name = 'zs',
sex = 2;
特殊情況
情況 | 說明 | 結果 |
---|---|---|
var age; console.log(age) |
只宣告 沒賦值 | undefine |
console.log(age) |
不宣告 不賦值 直接使用 | 報錯 |
age = 10; console.log (age); |
不宣告 只賦值 | 10 |
命名規範
-
由字母(A-Za-z)、數字(0-9)、下劃線(_)、美元符號( $ )組成,如:usrAge, num01, _name
-
嚴格區分大小寫。var app; 和 var App; 是兩個變數
-
不能 以數字開頭。 18age 是錯誤的
-
不能 是關鍵字、保留字。例如:var、for、while
-
變數名必須有意義。
-
遵守駝峰命名法。首字母小寫,後面單詞的首字母需要大寫。 myFirstName
資料型別
分類
JS 把資料型別分為兩類:
-
簡單資料型別
-
Number
-
String
-
Boolean
-
Undefined
-
Null
-
-
複雜資料型別 (object)
- 物件(Object)
- 陣列(Array)
- 函式(Function)
數字型Number
JavaScript 數字型別既可以用來儲存整數值,也可以儲存小數(浮點數)。
var age = 21; // 整數
var Age = 21.3747; // 小數
進位制
最常見的進位制有二進位制、八進位制、十進位制、十六進位制。
// 1.八進位制數字序列範圍:0~7 var num1 = 07; // 對應十進位制的7 var num2 = 019; // 對應十進位制的19 var num3 = 08; // 對應十進位制的8 // 2.十六進位制數字序列範圍:0~9以及A~F var num = 0xA;
現階段我們只需要記住,在JS中八進位制前面加
0
,十六進位制前面加0x
NaN - 非數字值 、isNaN()
NaN 屬性是代表非數字值的特殊值。該屬性用於指示某個值不是數字、
isNaN用來判斷一個變數是否為非數字的型別,非數字返回true,數字返回false
數字可以是數字或者物件
數字可以私有資料進行初始化,就像 x = 123;
JavaScript 數字物件初始化資料, var y = new Number(123);
例項
var x = 123;
var y = new Number(123);
typeof(x) // 返回 Number
typeof(y) // 返回 Object
(x === y) // 為 false,因為 x 是一個數字,y 是一個物件
字串型 String
布林型 Boolean
布林型別有兩個值:true 和 false
布林型和數字型相加的時候, true 的值為 1 ,false 的值為 0。
console.log(true + 1); // 2
console.log(false + 1); // 1
Undefined 和 Null
一個聲明後沒有被賦值的變數會有一個預設值 undefined ( 如果進行相連或者相加時,注意結果)
var variable;
console.log(variable); // undefined
console.log('你好' + variable); // 你好undefined
console.log(11 + variable); // NaN
console.log(true + variable); // NaN
一個宣告變數給 null 值,裡面存的值為空
var vari = null;
console.log('你好' + vari); // 你好null
console.log(11 + vari); // 11
console.log(true + vari); // 1
獲取變數的資料型別
typeof
可用來獲取檢測變數的資料型別
var num = 18;
console.log(typeof num) // 結果 number
資料型別轉換
使用表單、prompt 獲取過來的資料預設是字串型別的,此時就不能直接簡單的進行加法運算,而需要轉換變數的資料型別。通俗來說,就是把一種資料型別的變數轉換成另外一種資料型別。
我們通常會實現3種方式的轉換:
- 轉換為字串型別
- 轉換為數字型
- 轉換為布林型
轉換為字串
方式 | 案例 |
---|---|
toString | var num = 1; var str = num.toString; |
String()強制轉換 | String(num) |
加號拼接字串 | num + "" |
轉換為數字型(重點)
方式 | 案例 |
---|---|
parseInt(str) | parseInt('12') |
parseFloat(str) | parseFloat('12.3') |
Number(str) | Number('12') |
隱式轉換(- * / ) |
'12' - 0 '12' * 1 '12' / 1 |
注意隱式轉換沒有加號,字串用加號表示拼接字串
轉換為布林型
Boolean()
-
代表空、否定的值會被轉換為 false ,如 ''、0、NaN、null、undefined
-
其餘值都會被轉換為 true
console.log(Boolean('')); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean('小白')); // true
console.log(Boolean(12)); // true