【基礎(chǔ)】五分鐘學(xué)會(huì)JavaScript對(duì)象類型

1 Object介紹

在JavaScript中Object是最基本,最常用小作,最強(qiáng)大的數(shù)據(jù)類型,也是面向?qū)ο缶幊痰幕A(chǔ)致份。在JavaScript的六種基本的數(shù)據(jù)類型中础拨,Object是唯一的復(fù)雜數(shù)據(jù)類型,唯一的可變數(shù)據(jù)類型滔蝉。一個(gè)Object就是一個(gè)基本數(shù)據(jù)類型以名稱值對(duì)存儲(chǔ)的無(wú)序列表塔沃。

2 Object創(chuàng)建

Object的創(chuàng)建方法有很多種,本文只介紹簡(jiǎn)單的字面值創(chuàng)建蛀柴,構(gòu)造模式。

2.1 字面值

最簡(jiǎn)單的Object創(chuàng)建方式吊洼。

var apple = {
    name:"蘋果",
    color:"紅色",
    origin:["棲霞","臨猗"],
    showDesc:function () {
        console.log(this.name+"是"+this.color+"的");
    }
};

2.2 構(gòu)造模式

對(duì)于應(yīng)用程序中只做簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)制肮,字面值的創(chuàng)建方式非常的簡(jiǎn)單有效递沪。但是對(duì)于復(fù)雜的應(yīng)用時(shí)综液,比如我們需要構(gòu)建10種水果時(shí)谬莹,每種水果都有名稱,顏色届良,產(chǎn)地等圣猎,如應(yīng)用上述方式就需要重復(fù)多次創(chuàng)建對(duì)象。我們應(yīng)用構(gòu)造模式并引入水果(fruit)對(duì)象來(lái)解決上述問(wèn)題慢显。

function Fruit(theName,theColor,theOrigin) {
    this.name = theName;
    this.color = theColor;
    this.origin = theOrigin;
    this.showDesc = function () {
        console.log(this.name+"是"+this.color+"的");
    }
}

應(yīng)用這種方式欠啤,可以很方便的創(chuàng)建各種水果,如果需要改變水果的描述方法(showDesc)也只需要做一處改動(dòng)就好应狱。也可以新增自有方法和屬性祠丝。

var mango = new Fruit("芒果","黃色",["陵水","南寧"]);
//輸出 芒果是黃色的
mango.showDesc();

3 訪問(wèn)屬性

Object對(duì)象中的第一項(xiàng)都被稱為屬性(函數(shù)被稱為方法),一般來(lái)說(shuō)屬性值可以通過(guò)點(diǎn)號(hào)(.)或中括號(hào)([])加屬性名的方式獲得岸蜗。屬性名可以是字符串(String)也可以是數(shù)字(Number)叠蝇,但一般最好不要用數(shù)字做為屬性名稱,如果用數(shù)字做屬性名稱悔捶,只能采用中括號(hào)的方式訪問(wèn)屬性蜕该。

var ageGroup = {15:"兒童",60:"老人"};
//輸出 兒童
console.log(ageGroup["15"]);
//拋出 SyntaxError 
console.log(ageGroup.15);

3.1 點(diǎn)號(hào)(.)

var people = {name:"iFat3",sex:"男"};
//輸出 iFat3
console.log(people.name);

3.2 中括號(hào)([])

var people = {name:"iFat3",sex:"男"};
//輸出 iFat3
console.log(people["name"]);

4 屬性存在與否判定

var people = {name:"iFat3",sex:"男"};
//輸出 true
console.log("name" in people);
//輸出 false
console.log("age" in people);
//輸出 true,繼承而來(lái)
console.log("toString" in people);

5 自有屬性判定

var people = {name:"iFat3",sex:"男"};
//輸出 true
console.log(people.hasOwnProperty("name"));
//輸出 false赁温,繼承屬性非自有屬性
console.log(people.hasOwnProperty("toString"));

6 訪問(wèn)并枚舉屬性

var people = {name:"iFat3",sex:"男"};
//輸出 name sex
for(var item in people) {
    console.log(item);
}

7 刪除屬性

只能刪除自有屬性,不能刪除繼承屬性袜匿。

var people = {name:"iFat3",sex:"男"};
delete people.sex;
//輸出 undefined
console.log(people.sex);
delete people.toString();
//輸出 [object Object]
console.log(people.toString());

8 序列化和反序列化

使用JSON.stringify函數(shù)來(lái)序列化對(duì)象稚疹,使用JSON.parse函數(shù)來(lái)反序列化對(duì)象。

var people = {name:"iFat3",sex:"男"};
var peopleStr = JSON.stringify(people);
//輸出 string
console.log(typeof peopleStr);
//輸出 {"name":"iFat3","sex":"男"}
console.log(peopleStr);
var people2 = JSON.parse(peopleStr);
//輸出 object
console.log(typeof people2);
//輸出 iFat3
console.log(people2.name);

本文并未介紹JavaScript的原型屬性怪嫌,Prototype部分內(nèi)容較多會(huì)另做介紹柳沙。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市噪径,隨后出現(xiàn)的幾起案子数初,更是在濱河造成了極大的恐慌,老刑警劉巖车摄,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仑鸥,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡薄料,警方通過(guò)查閱死者的電腦和手機(jī)泵琳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谷市,“玉大人击孩,你說(shuō)我怎么就攤上這事」遥” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵鞠抑,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我秒梳,道長(zhǎng)箕速,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任兴垦,我火速辦了婚禮庭呜,結(jié)果婚禮上犀忱,老公的妹妹穿的比我還像新娘。我一直安慰自己数冬,他們只是感情好搀庶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著秸架,像睡著了一般咆蒿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沃测,一...
    開(kāi)封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天蒂破,我揣著相機(jī)與錄音,去河邊找鬼附迷。 笑死哎媚,一個(gè)胖子當(dāng)著我的面吹牛壹哺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播截珍,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼箩朴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼炸庞!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起埠居,我...
    開(kāi)封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤滥壕,失蹤者是張志新(化名)和其女友劉穎纸颜,沒(méi)想到半個(gè)月后绎橘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體称鳞,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年狂票,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熙暴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡屋剑,死狀恐怖诗眨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情巍膘,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布璃饱,位于F島的核電站,受9級(jí)特大地震影響荚恶,放射性物質(zhì)發(fā)生泄漏磷支。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一廓潜、第九天 我趴在偏房一處隱蔽的房頂上張望善榛。 院中可真熱鬧,春花似錦移盆、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)爽醋。三九已至,卻和暖如春光戈,著一層夾襖步出監(jiān)牢的瞬間遂赠,已是汗流浹背久妆。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工筷弦, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烂琴。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓奸绷,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親号醉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)父虑,斷路器,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 10,916評(píng)論 6 13
  • 很早以前就有過(guò)要寫點(diǎn)什么的念頭,也曾經(jīng)嘗試過(guò)寫小說(shuō)莱衩,也只是寫了個(gè)沒(méi)有任何新意的開(kāi)頭就不了了之就,希望在簡(jiǎn)書能夠...
    氵方子閱讀 140評(píng)論 0 0
  • 兒子快四歲了睹晒,像孫猴子一樣括细,沒(méi)休止地鬧騰著,不用給他支點(diǎn),他也能翹起整個(gè)世界奋单,無(wú)時(shí)無(wú)刻不考驗(yàn)著我思索人生的意義。 ...
    林子里的蒹葭閱讀 370評(píng)論 4 5