1. 程式人生 > 其它 >js之變數與資料型別

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