JavaScript中的數據可以分為兩類:基本數據類型和引用數據類型。
基本數據類型包括:數字、字符串、布爾值、null和undefined。這些數據類型在JavaScript中是不可變的,也就是說,一旦定義、賦值了就無法更改。例如:
var num = 1; var str = "Hello World"; var bool = true; var nullVar = null; var undefinedVar = undefined;
引用數據類型包括:對象、數組、函數等。這些數據類型在JavaScript中是可變的,也就是說,可以修改它們。例如:
var obj = {name: "Tom", age: 18}; var arr = [1, 2, 3]; function func(){ console.log("Hello World"); }
需要注意的是,雖然引用數據類型可以修改,但是對于變量值的修改,并不會影響原始數據類型。例如:
var obj1 = {name: "Tom", age: 18}; var obj2 = obj1; // 將obj1的值復制給obj2 obj2.name = "Jerry"; console.log(obj1.name); // 輸出"Tom" console.log(obj2.name); // 輸出"Jerry"
這里,雖然修改了obj2的name屬性,但是并沒有影響原始的obj1,因為obj2只是保存了obj1的引用。
另外,可以通過typeof運算符來判斷一個數據類型是基本數據類型還是引用數據類型。例如:
console.log(typeof 1); // 輸出"number" console.log(typeof "Hello World"); // 輸出"string" console.log(typeof true); // 輸出"boolean" console.log(typeof null); // 輸出"object",這是一個歷史遺留問題 console.log(typeof undefined); // 輸出"undefined" console.log(typeof {}); // 輸出"object" console.log(typeof []); // 輸出"object" console.log(typeof function(){}); // 輸出"function"
在JavaScript中,雖然數據分為基本數據類型和引用數據類型,但是無論哪種類型的數據,都可以通過變量名進行訪問和操作。