成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

javascript中的對(duì)象

netmou / 1043人閱讀

摘要:沒(méi)有原型的對(duì)象為數(shù)不多,就是其中之一。它創(chuàng)建一個(gè)新對(duì)象,其中第一個(gè)參數(shù)是這個(gè)對(duì)象的原型,第二個(gè)可選參數(shù),用以對(duì)對(duì)象的屬性進(jìn)行進(jìn)一步描述。序列化對(duì)象還原對(duì)象

一 創(chuàng)建對(duì)象:

對(duì)象直接量:由若干名/值對(duì)組成的映射表,名/值對(duì)中間使用冒號(hào)分離,明/值對(duì)之間用逗號(hào)分離,整個(gè)映射變使用花括號(hào)括起來(lái)。舉例如下:

var book = {
    "main title": "javascript",                   // 屬性名字里有空格,必須用字符串表示
    "sub-title": "The Definitive Guide",          // 屬性名字里連字符,必須使用字符串便是
    "for": "all audiences",                       // "for"是保留字,因此必須用引號(hào)
    author: {                                     // 這里的屬性值是一個(gè)對(duì)象
        firstName: "David",                       // 注意,這里的屬性名都沒(méi)有引號(hào)
        surname: "Flanagan"
    }
};

通過(guò)new創(chuàng)建對(duì)象:new運(yùn)算符創(chuàng)建并初始化一個(gè)對(duì)象。關(guān)鍵字new后跟隨一個(gè)函數(shù)調(diào)用。這里的函數(shù)稱作構(gòu)造函數(shù),構(gòu)造函數(shù)用以初始化一個(gè)新創(chuàng)建的對(duì)象。例如:

var o = new Object();     // 創(chuàng)建一個(gè)空對(duì)象,和{}一樣
var a = new Array();      // 創(chuàng)建一個(gè)空數(shù)組,和[]一樣

原型:每一個(gè)javascript對(duì)象都和另一個(gè)對(duì)象關(guān)聯(lián)。
沒(méi)有原型的對(duì)象為數(shù)不多,Object.prototype就是其中之一。

Object.create():它創(chuàng)建一個(gè)新對(duì)象,其中第一個(gè)參數(shù)是這個(gè)對(duì)象的原型,第二個(gè)可選參數(shù),用以對(duì)對(duì)象的屬性進(jìn)行進(jìn)一步描述。例如:

var o1 = Object.create({x:1, y:2});       // o1繼承了屬性x和y
var o2 = Object.create(null);             // o2不繼承任何屬性和方法

二 屬性的查詢和設(shè)置

可以通過(guò)點(diǎn)(.)或方括號(hào)([])運(yùn)算符來(lái)獲取屬性的值。運(yùn)算符左側(cè)應(yīng)當(dāng)是一個(gè)表達(dá)式,它返回一個(gè)對(duì)象。對(duì)于點(diǎn)來(lái)說(shuō),右側(cè)必須是一個(gè)以屬性名稱命名的簡(jiǎn)單標(biāo)識(shí)符。對(duì)于

方括號(hào)來(lái)說(shuō),方括號(hào)內(nèi)必須是一個(gè)計(jì)算結(jié)果為字符串的表達(dá)式,這個(gè)字符串就是屬性的名字:

var author = book.author;          // 得到book的"author"屬性
var name = author.surname;         // 得到auhor的"surname"屬性
和查詢屬性的寫(xiě)法一樣,通過(guò)點(diǎn)和方括號(hào)也可以創(chuàng)建屬性或給屬性賦值,但需要將它放在表達(dá)式的左側(cè):
book.edition = 6;                    // 給book創(chuàng)建一個(gè)名為"edition"的屬性
book["main title"] = "ECMAScript";   // 給"main title"屬性賦值

三 刪除屬性

delete運(yùn)算符可以刪除對(duì)象的屬性。它的操作數(shù)應(yīng)當(dāng)是一個(gè)屬性訪問(wèn)表達(dá)式。delete只是斷開(kāi)屬性和宿主對(duì)象的聯(lián)系,而不會(huì)去操作屬性中的屬性。例如:
delete book.author;                  // book不再有屬性author
delete運(yùn)算符只能刪除自有屬性,不能刪除繼承屬性。

四 檢測(cè)屬性

javascript對(duì)象可以看做屬性的集合。需要檢測(cè)集合中成員的所屬關(guān)系--判斷某個(gè)屬性是否存在于某個(gè)軟件中??梢允褂胕n運(yùn)算符,hasOwnProperty()和propertyIsEnumerable()方法來(lái)完成。

五 枚舉屬性

遍歷對(duì)象屬性三種方法:
* 通常使用for/in循環(huán).
* Object.keys().
* Object.getOwnPropertyNames().

六 屬性getter和setter

對(duì)象由名字、值和一組特性構(gòu)成的。屬性值可以用一兩個(gè)方法替代,這兩個(gè)方法就是getter和setter。由getter和setter定義的屬性稱作“存儲(chǔ)器屬性”,
不同于“數(shù)據(jù)屬性”,數(shù)據(jù)屬性只有一個(gè)簡(jiǎn)單的值。

七 對(duì)象的三個(gè)屬性

* 原型屬性: 要想檢測(cè)一個(gè)對(duì)象是否是另一個(gè)對(duì)象的原型,請(qǐng)使用isPrototypeof()方法。
* 類屬性: 使用classof()函數(shù)可以返回傳遞給它的任意對(duì)象的類。
 function classof(o) {
    if (o === null ) return "Null";
    if (o === undefined) return "Undefined";
    return Object.prototype.toString().call(o).slice(8, -1);
}   

八 序列化對(duì)象

對(duì)象序列化是指將對(duì)象轉(zhuǎn)換為字符串,也可以將字符串還原為對(duì)象。

* JSON.Stringify() 序列化對(duì)象
* JSON.parse() 還原js對(duì)象


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/86305.html

相關(guān)文章

  • JavaScript深入淺出

    摘要:理解的函數(shù)基礎(chǔ)要搞好深入淺出原型使用原型模型,雖然這經(jīng)常被當(dāng)作缺點(diǎn)提及,但是只要善于運(yùn)用,其實(shí)基于原型的繼承模型比傳統(tǒng)的類繼承還要強(qiáng)大。中文指南基本操作指南二繼續(xù)熟悉的幾對(duì)方法,包括,,。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。 怎樣使用 this 因?yàn)楸救藢儆趥吻岸耍虼宋闹兄豢炊?8 成左右,希望能夠給大家?guī)?lái)幫助....(據(jù)說(shuō)是阿里的前端妹子寫(xiě)的) this 的值到底...

    blair 評(píng)論0 收藏0
  • JavaScript中的面向對(duì)象(object-oriented)編程

    摘要:對(duì)象在中,除了數(shù)字字符串布爾值這幾個(gè)簡(jiǎn)單類型外,其他的都是對(duì)象。那么在函數(shù)對(duì)象中,這兩個(gè)屬性的有什么區(qū)別呢表示該函數(shù)對(duì)象的原型表示使用來(lái)執(zhí)行該函數(shù)時(shí)這種函數(shù)一般成為構(gòu)造函數(shù),后面會(huì)講解,新創(chuàng)建的對(duì)象的原型。這時(shí)的函數(shù)通常稱為構(gòu)造函數(shù)。。 本文原發(fā)于我的個(gè)人博客,經(jīng)多次修改后發(fā)到sf上。本文仍在不斷修改中,最新版請(qǐng)?jiān)L問(wèn)個(gè)人博客。 最近工作一直在用nodejs做開(kāi)發(fā),有了nodejs,...

    JerryZou 評(píng)論0 收藏0
  • JavaScriptCore全面解析

    摘要:可嵌入動(dòng)態(tài)文本于頁(yè)面,對(duì)瀏覽器事件作出響應(yīng),讀寫(xiě)元素,控制等。年月,發(fā)布了一款面向普通用戶的新一代的瀏覽器版,市場(chǎng)份額一舉超過(guò)。網(wǎng)景將這門語(yǔ)言作為標(biāo)準(zhǔn)提交給了歐洲計(jì)算機(jī)制造協(xié)會(huì)。線程和的并發(fā)執(zhí)行都是線程安全的。后面會(huì)詳細(xì)講解對(duì)象類型的轉(zhuǎn)換。 本文由云+社區(qū)發(fā)表作者:殷源,專注移動(dòng)客戶端開(kāi)發(fā),微軟Imagine Cup中國(guó)區(qū)特等獎(jiǎng)獲得者 JavaScript越來(lái)越多地出現(xiàn)在我們客戶端開(kāi)...

    OnlyMyRailgun 評(píng)論0 收藏0
  • [譯] V8 使用者文檔

    摘要:注意句柄棧并不是調(diào)用棧中的一部分,但句柄域卻在棧中。一個(gè)依賴于構(gòu)造函數(shù)和析構(gòu)函數(shù)來(lái)管理下層對(duì)象的生命周期。對(duì)象模板用來(lái)配置將這個(gè)函數(shù)作為構(gòu)造函數(shù)而創(chuàng)建的對(duì)象。 如果你已經(jīng)閱讀過(guò)了上手指南,那么你已經(jīng)知道了如何作為一個(gè)單獨(dú)的虛擬機(jī)使用 V8 ,并且熟悉了一些 V8 中的關(guān)鍵概念,如句柄,域 和上下文。在本文檔中,還將繼續(xù)深入討論這些概念并且介紹其他一些在你的 C++ 應(yīng)用中使用 V8 的...

    lei___ 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對(duì)象”還好嗎?

    摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    李昌杰 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你的“對(duì)象”還好嗎?

    摘要:很多情況下,通常一個(gè)人類,即創(chuàng)建了一個(gè)具體的對(duì)象。對(duì)象就是數(shù)據(jù),對(duì)象本身不包含方法。類是相似對(duì)象的描述,稱為類的定義,是該類對(duì)象的藍(lán)圖或原型。在中,對(duì)象通過(guò)對(duì)類的實(shí)體化形成的對(duì)象。一類的對(duì)象抽取出來(lái)。注意中,對(duì)象一定是通過(guò)類的實(shí)例化來(lái)的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    Lyux 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<