自定義對(duì)象

1陆淀、自定義對(duì)象

1.1、什么是自定義對(duì)象

在Javascript中砂豌,除了js本身提供的自定義對(duì)象外(如Array钻蔑、Date、Number等)奸鸯,用戶還可以自己創(chuàng)建對(duì)象咪笑,這種由用戶自己創(chuàng)建的對(duì)象就被稱為自定義對(duì)象。

1.2娄涩、自定義對(duì)象特性

1.2.1窗怒、“字典”結(jié)構(gòu):對(duì)象的屬性由鍵/值對(duì)的形式組成,屬性名是字符串蓄拣,屬性值可以是任意類型扬虚。

<script type="text/javascript">
        var a = {
            a:1
        }
        console.log(a.a)
    </script>

1.2.2、原型繼承:Js的自定義對(duì)象可以繼承原型的屬性球恤。

<script type="text/javascript">
        function fun(a){
            this.a = a;
        }
        //prototype:使得我們能夠向構(gòu)造函數(shù)添加方法和屬性
        fun.prototype.b = function(){
            console.log(this.a)
        }
        var func = new fun("a")
        func.b();
    </script>

1.2.3辜昵、動(dòng)態(tài)結(jié)構(gòu):可動(dòng)態(tài)的增添或刪除對(duì)象的屬性

<script type="text/javascript">
        function a() {};
        var _a = new a();
        //動(dòng)態(tài)添加
        _a.name = "_a";
        _a.id = 1;
        console.log(_a.name+"------"+_a.id)
        //動(dòng)態(tài)刪除
        delete _a.name;
        console.log(_a)
    </script>

1.2.4、引用類型:js中的對(duì)象為引用類型咽斧,即a為一個(gè)對(duì)象堪置,b=a,改變b的話a也會(huì)被改變张惹。我們也稱這種特性為淺拷貝舀锨,這里b=a只是引用了a的地址,所以當(dāng)我們改變b時(shí)宛逗,會(huì)根據(jù)地址將a也改變坎匿。

<script type="text/javascript">
        var a = {
            name:1
        }
        b = a;
        b.name = 2
        console.log(a)
    </script>

2、創(chuàng)建自定義對(duì)象

Js中創(chuàng)建自定義對(duì)象,主要通過三種方式:
1替蔬、對(duì)象直接量:原型為Object.prototype(也被稱為字面量)告私。
2、構(gòu)造函數(shù):原型為構(gòu)造函數(shù)的prototype屬性承桥。
3驻粟、Object.create():原型為傳入的第一個(gè)參數(shù),若第一個(gè)參數(shù)為null快毛,以O(shè)bject.prototype為原型格嗅。

2.1、對(duì)象直接量

<script type="text/javascript">
        var a = {
            name:'a'
        }
    </script>

這種方法適合用在某個(gè)特定的作用域內(nèi)

2.2唠帝、構(gòu)造函數(shù)

<script type="text/javascript">
        function Fun(){
            
        }
        var func = new Fun();
        console.log(func)
    </script>

構(gòu)造函數(shù)的函數(shù)名用駝峰法(即首字母大寫)表示屯掖,將它與普通函數(shù)區(qū)分開來。

2.3襟衰、Object.create()

<script type="text/javascript">
        //創(chuàng)建一個(gè)原型為null的對(duì)象
        var func = Object.create(null,{
            a:{
                value:"1",
            }
        })
    </script>

create方法接收兩個(gè)參數(shù)贴铜,第一個(gè)參數(shù)接收創(chuàng)建對(duì)象的原型,可以為null瀑晒,此時(shí)對(duì)象的原型為undefined绍坝;第二個(gè)參數(shù)接收一個(gè)屬性描述符。

3苔悦、序列化

序列化即是調(diào)用JSON方法轩褐,將對(duì)象轉(zhuǎn)化為字符串,也可以通過反序列化將字符串轉(zhuǎn)成對(duì)象玖详。

3.1把介、JSON.stringify(object)

作用:把對(duì)象轉(zhuǎn)化成字符串。

<script type="text/javascript">
        var func = Object.create(null,{
            a:{
                //設(shè)置允許對(duì)對(duì)象進(jìn)行枚舉蟋座,即遍歷拗踢,如果不設(shè)置,則輸出內(nèi)容為空
                enumerable: true,
                value:"1"
            }
        })
        console.log(JSON.stringify(func))
    </script>

3.2向臀、JSON.parse(jsonStr)

作用:將json字符串轉(zhuǎn)成json對(duì)象

<script type="text/javascript">
        var func = '{"a":1}'
        console.log(JSON.parse(func))
    </script>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末巢墅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子券膀,更是在濱河造成了極大的恐慌君纫,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,331評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件三娩,死亡現(xiàn)場(chǎng)離奇詭異庵芭,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)雀监,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人会前,你說我怎么就攤上這事好乐。” “怎么了瓦宜?”我有些...
    開封第一講書人閱讀 167,755評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵蔚万,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我临庇,道長(zhǎng)反璃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,528評(píng)論 1 296
  • 正文 為了忘掉前任假夺,我火速辦了婚禮淮蜈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘已卷。我一直安慰自己梧田,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,526評(píng)論 6 397
  • 文/花漫 我一把揭開白布侧蘸。 她就那樣靜靜地躺著裁眯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪讳癌。 梳的紋絲不亂的頭發(fā)上穿稳,一...
    開封第一講書人閱讀 52,166評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音晌坤,去河邊找鬼逢艘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛泡仗,可吹牛的內(nèi)容都是我干的埋虹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,768評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼娩怎,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼搔课!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起截亦,我...
    開封第一講書人閱讀 39,664評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤爬泥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后崩瓤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袍啡,經(jīng)...
    沈念sama閱讀 46,205評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,290評(píng)論 3 340
  • 正文 我和宋清朗相戀三年却桶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了境输。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔗牡。...
    茶點(diǎn)故事閱讀 40,435評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖嗅剖,靈堂內(nèi)的尸體忽然破棺而出辩越,到底是詐尸還是另有隱情,我是刑警寧澤信粮,帶...
    沈念sama閱讀 36,126評(píng)論 5 349
  • 正文 年R本政府宣布黔攒,位于F島的核電站,受9級(jí)特大地震影響强缘,放射性物質(zhì)發(fā)生泄漏督惰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,804評(píng)論 3 333
  • 文/蒙蒙 一旅掂、第九天 我趴在偏房一處隱蔽的房頂上張望赏胚。 院中可真熱鬧,春花似錦辞友、人聲如沸栅哀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽留拾。三九已至,卻和暖如春鲫尊,著一層夾襖步出監(jiān)牢的瞬間痴柔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工疫向, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咳蔚,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,818評(píng)論 3 376
  • 正文 我出身青樓搔驼,卻偏偏與公主長(zhǎng)得像谈火,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子舌涨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,442評(píng)論 2 359

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