原始型別:數值
var a = Number('100'); => 轉型
var a = Number('100 aa'); =>轉型失敗 => NaN
var a = parseInt('100 aa', 10); => 字串會被解析去掉 ,以10進位為基底
建議一律使用parseInt/parseFloat, 一律加上第二個參數, 明確指定基數
也有人用 + 強迫引發自動轉型
ex:
var a ='7'; var b = +(a);
也可使用(N).toString(baseN)轉換進制
ex:
(0xEF).toString(10);
(65535).toString(16);
原始型別 : 字串(String)
var a = 'Bill';
var a = new String('Bill');
String {0: "B" , 1: "i", 2: "l", 3: "l"}
JSON用得字串應用雙引號
var a = String('Bill');
var b = a[0] => 取得第一個字元
length 屬性
String包裹物件 提供一組HTML相關操作方法
== 或 != (隱含比對,會觸發自動轉型)
=== 或 !== (明確比對)
使用!! 強迫引發自動轉型
var a = !!(0);
var b = !!("0");
null只能跟null與null 與 undefined 比較
NaN跟任何物件比較都是false
空值(null)
var a = null;
null是一個物件,不是真的“NULL"
所有的null物件都是連結到系統唯一的一個null物件
null物件永遠不會執行GC(記憶體不會被回收) 建議不要使用null 物件
undefined 是一個全域變數
windows.undefined === undefined
var a = Number('100'); => 轉型
var a = Number('100 aa'); =>轉型失敗 => NaN
var a = parseInt('100 aa', 10); => 字串會被解析去掉 ,以10進位為基底
建議一律使用parseInt/parseFloat, 一律加上第二個參數, 明確指定基數
也有人用 + 強迫引發自動轉型
ex:
var a ='7'; var b = +(a);
也可使用(N).toString(baseN)轉換進制
ex:
(0xEF).toString(10);
(65535).toString(16);
原始型別 : 字串(String)
var a = 'Bill';
var a = new String('Bill');
String {0: "B" , 1: "i", 2: "l", 3: "l"}
JSON用得字串應用雙引號
var a = String('Bill');
var b = a[0] => 取得第一個字元
length 屬性
String包裹物件 提供一組HTML相關操作方法
== 或 != (隱含比對,會觸發自動轉型)
=== 或 !== (明確比對)
使用!! 強迫引發自動轉型
var a = !!(0);
var b = !!("0");
null只能跟null與null 與 undefined 比較
NaN跟任何物件比較都是false
空值(null)
var a = null;
null是一個物件,不是真的“NULL"
所有的null物件都是連結到系統唯一的一個null物件
null物件永遠不會執行GC(記憶體不會被回收) 建議不要使用null 物件
undefined 是一個全域變數
windows.undefined === undefined
留言