javascript對象

Javascript 對象總結(jié):

JavaScript對象可以看作是屬性的無序集合,每個(gè)屬性就是一個(gè)鍵值對,可增可刪。
JavaScript中的所有事物都是對象:字符串、數(shù)字、數(shù)組、日期,等等。
JavaScript對象除了可以保持自有的屬性外,還可以從一個(gè)稱為原型的對象繼承屬性。對象的方法通常是繼承的屬性。這種“原型式集成”是JavaScript的的核心特征。

創(chuàng)建對象

  1. 對象直接量表示法
    這是最簡單的對象創(chuàng)建方式,對象直接量由若干key:value鍵值對屬性組成,屬性之間用逗號分隔,整個(gè)對象用花括號括起來。
var empty = { };//不包含任何屬性的對象
var point = {x:3,y:5};//包含兩個(gè)屬性的對象
var point2 = {x:point.x+1,y:point.y+1};//屬性值可以是表達(dá)式
var book = {
  "main title": "JavaScript", //屬性名有空格,必須用字符串表示
  "sub-title": "The  Star", //屬性名有連字符,必須用字符串表示
  "for": "people", //屬性名是保留字,必須用字符串表示
  author: { //這個(gè)屬性的值是一個(gè)對象
    firstname: "Kimi",
    surname: "Smith"
  }

ECMAScript 5版本中,使用保留字屬性名可以不用引號引起來。

  1. 通過關(guān)鍵字創(chuàng)建對象
    關(guān)鍵字new用來創(chuàng)建并初始化對象,后面跟一個(gè)構(gòu)造函數(shù)。JavaScript語言核心中原始類型都包含內(nèi)置構(gòu)造函數(shù),
    內(nèi)置對象創(chuàng)建例子:
var o = new Object(); //創(chuàng)建一個(gè)空對象,等價(jià)于 0={}
var a = new Array(); //創(chuàng)建一個(gè)空數(shù)組
var d = new Date(); //創(chuàng)建一個(gè)代表當(dāng)前時(shí)間的Date對象
var r = new RegExp("js"); //創(chuàng)建一個(gè)正則表達(dá)式對象
  1. 適用Object.create()函數(shù)創(chuàng)建對象
Object.create()方法創(chuàng)建一個(gè)擁有指定原型和若干個(gè)指定屬性的對象。

Object.create(Object[,Properties])是ECMAScript 5版本出現(xiàn)的一個(gè)靜態(tài)函數(shù),用來創(chuàng)建對象。它接收兩個(gè)參數(shù):第一個(gè)是要?jiǎng)?chuàng)建對象的原型proto;第二個(gè)是可選參數(shù),用來描述對象屬性。

var obj1 = Object.create({
   x: 1,
   y: 2 
}); //對象obj1繼承了屬性x和y 
var obj2 = Object.create(null); //對象obj2沒有原型

如果 proto 參數(shù)不是 null 或一個(gè)對象值,則拋出一個(gè) TypeError 異常。通過原型創(chuàng)建對象,可以使任意對象可繼承。程序不直接操作對象,而是操作通過Object.create()創(chuàng)建的繼承對象。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容