值類型(基本類型):字符串(String)、數字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)、Symbol。
引用數據類型(對象類型):對象(Object)、數組(Array)、函數(Function),還有兩個特殊的對象:正則(RegExp)和日期(Date)。
注:Symbol 是 ES6 引入了一種新的原始數據類型,表示獨一無二的值。
JavaScript 擁有動態類型
JavaScript 擁有動態類型。這意味着相同的變量可用作不同的類型:
實例
var x; // x 為 undefined
var x = 5; // 現在 x 為數字
var x = "John"; // 現在 x 為字符串
變量的數據類型可以使用 typeof 操作符來查看:
實例
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
嘗試一下 »
typeof [1,2,3,4] 返回 "object",這是 JavaScript 早期設計的一個"缺陷",數組本質上是特殊類型的對象。
正確檢測數組的方法:
Array.isArray([1,2,3]); // true
[1,2,3] instanceof Array; // true
JavaScript 字符串
字符串是存儲字符(比如 "Bill Gates")的變量。
字符串可以是引號中的任意文本。您可以使用單引號或雙引號:
實例
var carname="Volvo XC60";
var carname='Volvo XC60';
您可以在字符串中使用引號,只要不匹配包圍字符串的引號即可:
實例
var answer="It's alright";
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';
嘗試一下 »
您將在本教程的高級部分學到更多關於字符串的知識。
JavaScript 數字
JavaScript 只有一種數字類型。數字可以帶小數點,也可以不帶:
實例
var x1=34.00; //使用小數點來寫
var x2=34; //不使用小數點來寫
極大或極小的數字可以通過科學(指數)計數法來書寫:
實例
var y=123e5; // 12300000
var z=123e-5; // 0.00123
嘗試一下 »
您將在本教程的高級部分學到更多關於數字的知識。
JavaScript 布爾
布爾(邏輯)只能有兩個值:true 或 false。
var x=true;
var y=false;
布爾常用在條件測試中。您將在本教程稍後的章節中學到更多關於條件測試的知識。
JavaScript 數組
下面的代碼創建名為 cars 的數組:
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
或者 (condensed array):
var cars=new Array("Saab","Volvo","BMW");
或者 (literal array):
實例
var cars=["Saab","Volvo","BMW"];
嘗試一下 »
數組下標是基於零的,所以第一個項目是 [0],第二個是 [1],以此類推。
您將在本教程稍後的章節中學到更多關於數組的知識。
JavaScript 對象
對象由花括號分隔。在括號內部,對象的屬性以名稱和值對的形式 (name : value) 來定義。屬性由逗號分隔:
var person={firstname:"John", lastname:"Doe", id:5566};
上面例子中的對象 (person) 有三個屬性:firstname、lastname 以及 id。
空格和折行無關緊要。聲明可橫跨多行:
var person={
firstname : "John",
lastname : "Doe",
id : 5566
};
對象屬性有兩種尋址方式:
實例
name=person.lastname;
name=person["lastname"];
嘗試一下 »
您將在本教程稍後的章節中學到更多關於對象的知識。
Undefined 和 Null
Undefined 這個值表示變量不含有值。
可以通過將變量的值設置為 null 來清空變量。
實例
cars=null;
person=null;
嘗試一下 »
聲明變量類型
當您聲明新變量時,可以使用關鍵詞 "new" 來聲明其類型:
var carname=new String;
var x= new Number;
var y= new Boolean;
var cars= new Array;
var person= new Object;
|
|
JavaScript 變量均為對象。當您聲明一個變量時,就創建了一個新的對象。
|