標籤:javascript
1. 基本類型
Javascript 基礎資料型別 (Elementary Data Type)有以下幾種:
- Number
- String:
- Boolean:
- Undefined: 當你訪問一個不存在的變數時,你會得到
undefined。當你定義了一個變數,但沒有給它賦值時也會得到 undefined。JavaScript 自動初始設定變數為該值,undefined 類型只有一個值 undefined。
- Null: 意味著變數沒有值,或者為空白。
除上面類型外,其他的類型都是 object
typeof 傳回值
- “number”
- “string”
- “boolean”
- “undefined”
- “object”
- “function”
數字首碼
// Octal, hexadecimal numbersvar no = 0377; // octalvar nh = 0x9F; // hex// Exponent literalsvar ne = 2e3; // 2000var nn = 2e-3; // 0.002
Infinity
Infinity 屬於 number 類型,JavaScript 能處理的最大值為 1.7976931348623157e+308,最小值為 5e-324。
var a = 6 / 0; // Infinityvar i = -Infinity; // -Infinityvar m = Infinity – Infinity; // NaNvar n = -Infinity + Infinity; // NaNvar n1 = Infinity – 20; // Infinityvar n2 = -Infinity * 3; // -Infinityvar n3 = Infinity / 2; // Infinityvar n4 = Infinity – 99999999999999999; // Infinity
NaN
NaN 也是一個特殊的 number 值:
var n1 = typeof NaN; // "number"var n2 = NaN; // NaNvar n3 = 10 * "f"; // NaNvar n4 = 1 + 2 + NaN; // NaN
2. String 類型轉換
var s = ‘1‘;s = 3 * s;typeof s;// "number"s;// 3var s = ‘1‘;s++;typeof s;// "number"s;// 2
3. Logical 判斷
任何值都能夠用兩個取反符來獲得它的 Boolean 值。除了以下幾個返回 false 之外,絕大多數值都返回 true:
- Null 字元串 “”
- null
undefined
- 數字 0
- 數字
NaN
- 布爾 false
注意字串 “0”, ” “, 以及 “false”轉換為布爾值時為 true
4. 比較符
1 == 1;// true1 == 2;// false1 == ‘1‘;// true1 === ‘1‘;// false1 === 1;// true1 != 1;// false1 != ‘1‘;// false1 != ‘2‘;// true1 !== 1;// false1 !== ‘1‘;// trueNaN == NaN;// false // NaN 不等於任何值,包括他自己
Undefined 與 null
foo;// ReferenceError: foo is not definedtypeof foo;// "undefined"var somevar;somevar;typeof somevar;// "undefined"// JavaScript 自動初始設定變數值為 undefinedvar somevar;somevar === undefined;// true// JavaScript 不會自動給變數賦 null 的初期值var somevar = null;// nullsomevar;// nulltypeof somevar;// "object"// undefined & nullvar i = 1 + undefined;i;// NaNvar i = 1 + null;i;// 1// 轉換為數字:1 * undefined;// NaN1 * null;// 0// 轉換為布爾值:!!undefined;// false!!null;// false// 轉換為字串:"value: " + null;// "value: null""value: " + undefined;// "value: undefined"
5. 數組 Arrays
var a = [1, 2, 3];// 你可以用以下方式向數組裡添加項目a[3] = ‘four‘;// "four"// 如果你用這種方式添加項目,在此索引之前未指定的項目將被初始為 undefineda[6] = ‘new‘;// "new"a;// [1, 2, 3, "four", undefined, undefined, "new"]// 使用 delete 來移除項目var a = [1, 2, 3];delete a[1];// truea;// [1, undefined, 3]typeof a[1];// "undefined"// 數組可以包含多種類型的資料,甚至可以包含另一個數組var a = [[1, 2, 3], [4, 5, 6]];a;// [Array[3], Array[3]]
6. 程式碼片段落(Code blocks)檢查變數是否存在
var result = "";if (typeof somevar !== "undefined") { result = "yes";}result;// ""var somevar;if (typeof somevar !== "undefined") { result = "yes";}result;// ""somevar = undefined;if (typeof somevar !== "undefined") { result = "yes";}result;// ""somevar = 123;if (typeof somevar !== "undefined") { result = ‘yes‘;}result;// "yes"
Javascript 基礎點