引用類型一般叫作類class,遇到引用值,所處理的就是對象。spa
注意:從傳統意義上來講,ECMAScript 並不真正具備類。事實上,除了說明不存在類,在 ECMA-262 中根本沒有出現「類」這個詞。ECMAScript 定義了「對象定義」,邏輯上等價於其餘程序設計語言中的類。設計
對象是由 new 運算符加上要實例化的對象的名字建立的。例如,下面的代碼建立 Object 對象的實例:對象
var o = new Object();
這種語法與 Java 語言的類似,不過當有不止一個參數時,ECMAScript 要求使用括號。若是沒有參數,如如下代碼所示,括號能夠省略:ip
var o = new Object;
注意:儘管括號不是必需的,可是爲了不混亂,最好使用括號。字符串
Boolean 對象是 Boolean 原始類型的引用類型。程序設計
要建立 Boolean 對象,只須要傳遞 Boolean 值做爲參數:class
var oBooleanObject = new Boolean(true);
Boolean 對象將覆蓋 Object 對象的 ValueOf() 方法,返回原始值,即 true 和 false。ToString() 方法也會被覆蓋,返回字符串 "true" 或 "false"。語法
正如你可能想到的,Number 對象是 Number 原始類型的引用類型。要建立 Number 對象,採用下列代碼:引用
var oNumberObject = new Number(68);
您應該已認出本章前面小節中討論特殊值(如 Number.MAX_VALUE)時提到的 Number 對象。全部特殊值都是 Number 對象的靜態屬性。程序
要獲得數字對象的 Number 原始值,只須要使用 valueOf() 方法:
var iNumber = oNumberObject.valueOf();
String 對象是 String 原始類型的對象表示法,它是如下方式建立的:
var oStringObject = new String("hello world");
String 對象的 valueOf() 方法和 toString() 方法都會返回 String 類型的原始值:
alert(oStringObject.valueOf() == oStringObject.toString()); //輸出 "true"
若是運行這段代碼,輸出是 "true",說明這些值真的相等。
摘自:http://www.w3school.com.cn/js/pro_js_referencetypes.asp