我們可以使用 new Object()
創(chuàng)建和使用自定義對(duì)象。
Javascript有許多其他引用類型。
內(nèi)置類型有:
類型 | 描述 |
---|---|
Array | 數(shù)字索引值的有序列表 |
Date | 日期和時(shí)間 |
Error | 運(yùn)行時(shí)錯(cuò)誤 |
Function | 用于表示所有函數(shù)實(shí)例的函數(shù)類型 |
Object | 用于表示所有函數(shù)實(shí)例的函數(shù)類型... |
RegExp | 正則表達(dá)式 |
我們可以使用 new
來實(shí)例化每個(gè)內(nèi)置引用類型,如下所示:
var items = new Array();
var now = new Date();
var error = new Error("Error.");
var func = new Function("console.log("Hi");");
var object = new Object();
var re = new RegExp("\\d+");
/*hgci.cn*/
console.log(typeof items);
console.log(typeof now);
console.log(typeof error);
console.log(typeof func);
console.log(typeof object);
console.log(typeof re);
上面的代碼生成以下結(jié)果。
內(nèi)置的引用類型也可以有文字形式。
要使用對(duì)象字面語法創(chuàng)建對(duì)象,請(qǐng)定義屬性在大括號(hào)內(nèi)的一個(gè)新對(duì)象。
屬性由標(biāo)識(shí)符或字符串,冒號(hào)和值,具有由逗號(hào)分隔的多個(gè)屬性。
例如:
var book = {
name : "JavaScript",
year : 2015,
website: "hgci.cn"
};
要使用字符串文字作為屬性名稱,這對(duì)于有空格或其他特殊字符很有用:
var book = {
"name": "Java Script",
"year": 2015,
"website": "hgci.cn"
};
在上面的代碼中創(chuàng)建的對(duì)象是邏輯上等同于以下內(nèi)容:
var book = new Object();
book.name = "JavaScript";
book.year = 2015;
book.website = "hgci.cn";
我們可以通過封閉來定義數(shù)組字面量在方括號(hào)中的逗號(hào)分隔值。
例如:
var colors = [ "A", "B", "C" ];
console.log(colors[0]); // "A"
上面的代碼生成以下結(jié)果。
此代碼相當(dāng)于以下內(nèi)容:
var colors = new Array("A", "B", "C")
console.log(colors[0]); // "A"
上面的代碼生成以下結(jié)果。
我們使用它們的字面形式定義函數(shù)。
例如:
function myMethod(value) {
return value;
}
// is the same as
var myMethod = new Function("value", "return value;");
上面的代碼定義了myMethod()函數(shù),它返回任何值傳遞給它。
JavaScript有正則表達(dá)式字面量來定義正則表達(dá)式而不使用 RegExp
構(gòu)造函數(shù)。
正則表達(dá)式文字模式包含在兩個(gè)斜杠之間,并且任何其他選項(xiàng)是第二個(gè)斜杠后面的單個(gè)字符。
例如:
var numbers = /\d+/g;
// is the same as
var numbers = new RegExp("\\d+", "g");
console.log(numbers);
上面的代碼生成以下結(jié)果。
當(dāng)以字符串形式創(chuàng)建模式時(shí),我們必須逃避任何反斜杠。
更多建議: