摘要:對象的方法是繼承的屬性。對象的類是一個標(biāo)識對象類型的字符串。例如,數(shù)組函數(shù)日期和正則表達(dá)式都是內(nèi)置對象??蛻舳酥斜硎揪W(wǎng)頁結(jié)構(gòu)的對象均是宿主對象。自定義對象是由運(yùn)行中的代碼創(chuàng)建的對象。自有屬性是直接在對象中定義的屬性。
首先對象是什么呢?
對象是JavaScript的基本數(shù)據(jù)類型。對象也可以看成**屬性的無序集合**,每個屬性都是一個名/值對。屬性名是字符串,因此我們可以把**對象看成從字符串到值的映射**。然而對象不僅僅是字符串到值的映射,除了可以保持自有的屬性,還可以從一個稱為原型的對象繼承屬性。對象的方法是繼承的屬性。 除了字符串,數(shù)字,null,undefined,true,false之外,JavaScript的值都是對象。對象的方法以及特征
對象最常見的用法是**創(chuàng)建,設(shè)置,查找,刪除,檢測和枚舉**它的屬性。 除了名字和值之外,每個屬性還有一些與之相關(guān)的值,稱為“屬性特征”:
可寫,表明是否可以設(shè)置該屬性的值。
可枚舉,表明是否可以通過for/in循環(huán)返回該屬性。
可配置,表明是否可以刪除或修改該屬性。
除了包含屬性之外,每個對象還擁有三個相關(guān)的對象特性:
對象的原型(prototype)指向另外一個對象,本對象的屬性繼承自它的原型對象。
對象的類(class)是一個標(biāo)識對象類型的字符串。
對象的擴(kuò)展標(biāo)記(extensible flag)指明了(在ECMAScript5中)是否可以向該對象添加新屬性。
最后我們用下面這些術(shù)語來對三類JavaScript對象和兩類屬性作區(qū)分:
內(nèi)置對象(native object)是由ECMAScript規(guī)范定義的對象或類。例如,數(shù)組、函數(shù)、日期和正則表達(dá)式都是內(nèi)置對象。
宿主對象(host object)是由JavaScript解釋器所嵌入的宿主環(huán)境(比如Web瀏覽器)定義的。客戶端JavaScript中表示網(wǎng)頁結(jié)構(gòu)的HTMLElement對象均是宿主對象。既然宿主環(huán)境定義的方法可以當(dāng)成普通的JavaScript函數(shù)對象,那么宿主對象可以當(dāng)成內(nèi)置對象。
自定義對象(user-defined object)是由運(yùn)行中的JavaScript代碼創(chuàng)建的對象。
自有屬性(own property)是直接在對象中定義的屬性。
繼承屬性(inherited property)是在對象的原型對象中定義的屬性。
創(chuàng)建對象創(chuàng)建對象的方法有三種,一是對象直接量,二是通過new關(guān)鍵字,三是Object.create()。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/108729.html
摘要:對象數(shù)組初始化表達(dá)式,闖關(guān)記之上文檔對象模型是針對和文檔的一個。闖關(guān)記之?dāng)?shù)組數(shù)組是值的有序集合。數(shù)組是動態(tài)的,根闖關(guān)記之語法的語法大量借鑒了及其他類語言如和的語法。 《JavaScript 闖關(guān)記》之 DOM(下) Element 類型 除了 Document 類型之外,Element 類型就要算是 Web 編程中最常用的類型了。Element 類型用于表現(xiàn) XML 或 HTML 元素...
摘要:理解的函數(shù)基礎(chǔ)要搞好深入淺出原型使用原型模型,雖然這經(jīng)常被當(dāng)作缺點(diǎn)提及,但是只要善于運(yùn)用,其實(shí)基于原型的繼承模型比傳統(tǒng)的類繼承還要強(qiáng)大。中文指南基本操作指南二繼續(xù)熟悉的幾對方法,包括,,。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 怎樣使用 this 因?yàn)楸救藢儆趥吻岸耍虼宋闹兄豢炊?8 成左右,希望能夠給大家?guī)韼椭?...(據(jù)說是阿里的前端妹子寫的) this 的值到底...
摘要:對象在中,除了數(shù)字字符串布爾值這幾個簡單類型外,其他的都是對象。那么在函數(shù)對象中,這兩個屬性的有什么區(qū)別呢表示該函數(shù)對象的原型表示使用來執(zhí)行該函數(shù)時(shí)這種函數(shù)一般成為構(gòu)造函數(shù),后面會講解,新創(chuàng)建的對象的原型。這時(shí)的函數(shù)通常稱為構(gòu)造函數(shù)。。 本文原發(fā)于我的個人博客,經(jīng)多次修改后發(fā)到sf上。本文仍在不斷修改中,最新版請?jiān)L問個人博客。 最近工作一直在用nodejs做開發(fā),有了nodejs,...
摘要:然后將構(gòu)造函數(shù)的原型設(shè)為,便實(shí)現(xiàn)了對象繼承。首先,我們定義一個構(gòu)造函數(shù),并在其中定義一個局部變量。這里的是局部變量,其作用域仍然存在是閉包現(xiàn)象,而非對象屬性。 Javascript是動態(tài)的,弱類型的,解釋執(zhí)行的程序設(shè)計(jì)語言。 Javascript極其靈活,支持多種程序設(shè)計(jì)范式:面向?qū)ο?、指令式、函?shù)式。JavaSCript最初被用于瀏覽器腳本,現(xiàn)在已經(jīng)是所有主流瀏覽器的默認(rèn)腳本語言。瀏...
摘要:可嵌入動態(tài)文本于頁面,對瀏覽器事件作出響應(yīng),讀寫元素,控制等。年月,發(fā)布了一款面向普通用戶的新一代的瀏覽器版,市場份額一舉超過。網(wǎng)景將這門語言作為標(biāo)準(zhǔn)提交給了歐洲計(jì)算機(jī)制造協(xié)會。線程和的并發(fā)執(zhí)行都是線程安全的。后面會詳細(xì)講解對象類型的轉(zhuǎn)換。 本文由云+社區(qū)發(fā)表作者:殷源,專注移動客戶端開發(fā),微軟Imagine Cup中國區(qū)特等獎獲得者 JavaScript越來越多地出現(xiàn)在我們客戶端開...
摘要:在中,并沒有對抽象類和接口的支持。例如,當(dāng)對象需要對象的能力時(shí),可以有選擇地把對象的構(gòu)造器的原型指向?qū)ο?,從而達(dá)到繼承的效果。本節(jié)內(nèi)容為設(shè)計(jì)模式與開發(fā)實(shí)踐第一章筆記。 動態(tài)類型語言 編程語言按數(shù)據(jù)類型大體可以分為兩類:靜態(tài)類型語言與動態(tài)類型語言。 靜態(tài)類型語言在編譯時(shí)已確定變量類型,動態(tài)類型語言的變量類型要到程序運(yùn)行時(shí),待變量被賦值后,才具有某種類型。 而JavaScript是一門典型...
閱讀 3349·2023-04-25 16:50
閱讀 979·2021-11-25 09:43
閱讀 3637·2021-09-26 10:11
閱讀 2576·2019-08-26 13:28
閱讀 2588·2019-08-26 13:23
閱讀 2491·2019-08-26 11:53
閱讀 3633·2019-08-23 18:19
閱讀 3049·2019-08-23 16:27