日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

javascript基础教程_JavaScript基础教程(九)对象、类的定义与使用

發(fā)布時(shí)間:2024/10/6 javascript 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript基础教程_JavaScript基础教程(九)对象、类的定义与使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

對(duì)象、類的定義與使用

對(duì)象與類是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言教學(xué)過程中不可避免需要講解的內(nèi)容之一。很多人將兩者混為一談,簡(jiǎn)單認(rèn)為對(duì)象就是類,類就是對(duì)象。實(shí)際上深入分析的話,對(duì)象與類的區(qū)別還是較為明顯的。本文主要介紹JavaScript中類與對(duì)象的概念區(qū)別及類的定義與使用。


Object對(duì)象與Class類

對(duì)象與類是面向?qū)ο蟮暮诵?#xff0c;不同教材對(duì)對(duì)象與類概念進(jìn)行了不同闡述。一般理解為類的實(shí)例化結(jié)果即為對(duì)象。實(shí)際上深入分析的話,對(duì)象與類的區(qū)別還是較為明顯的。歸納起來,類是對(duì)客觀事物的描述與抽象,對(duì)象是類的實(shí)例。客觀事物的抽象與描述是指抽取某類事物共同具有的狀態(tài)與行為構(gòu)成類。在程序設(shè)計(jì)語(yǔ)言中所抽取的狀態(tài)與行為,即為類的屬性(Attributes)與方法(method)。下圖使用手機(jī)為例對(duì)象與類關(guān)系描述。

手機(jī)為例說明對(duì)象與類

使用手機(jī)對(duì)類與對(duì)象說明描述如上所示,其中華為、蘋果、小米手機(jī)等現(xiàn)實(shí)世界中的物品,可直接表示為計(jì)算機(jī)中具體的對(duì)象。所有的手機(jī)對(duì)象抽取出共有的屬性與方法就構(gòu)成了抽象的數(shù)據(jù)類型,我們稱為類。從類到對(duì)象的過程稱為實(shí)例化,從對(duì)象到類可以理解為抽象與封裝


ECMAScript 5(ES5)類的定義

ECMAScript標(biāo)準(zhǔn)是JavaScript程序語(yǔ)言所遵循的規(guī)則與標(biāo)準(zhǔn),在ECMAScript5及之前標(biāo)準(zhǔn)下的JavaScript語(yǔ)言中沒有提供關(guān)于類Class相關(guān)標(biāo)準(zhǔn)與要求。在該標(biāo)準(zhǔn)下只能通過模擬實(shí)現(xiàn)類。目前使用模擬方法構(gòu)造類方法較多,本文主要介紹兩種常用方法:

1、Object對(duì)象原型法

在JavaScript中基本上所有的對(duì)象都是Object對(duì)象的實(shí)例,都繼承了Object對(duì)象的方法與屬性。通過使用Object對(duì)象可以創(chuàng)建用戶自定義對(duì)象,并且可以通過prototype屬性進(jìn)行對(duì)象屬性及方法的設(shè)置。以下以手機(jī)為例進(jìn)行說明。定義一個(gè)手機(jī)對(duì)象,該對(duì)象屬性包括品牌名字、價(jià)格兩個(gè)屬性,還具有一個(gè)輸出顯示手機(jī)品牌價(jià)格信息的方法。通過使用對(duì)象原型法編寫實(shí)現(xiàn)代碼如下圖:

對(duì)象原型法實(shí)現(xiàn)類示例

如上圖所示,我們?yōu)镺bject對(duì)象添加了兩個(gè)屬性u(píng)name與price分別標(biāo)書手機(jī)品牌與價(jià)格,添加了兩個(gè)方法分別完成賦值與輸出顯示。完成之后對(duì)Object進(jìn)行了實(shí)例化操作,huawei與iphone就是實(shí)例化之后的對(duì)象。

2、構(gòu)造函數(shù)法

構(gòu)造函數(shù)法相對(duì)原型方法較更加容易理解,我們將一個(gè)函數(shù)直接實(shí)例化成類的對(duì)象,以此實(shí)現(xiàn)對(duì)類的模擬操作。如上例所示手機(jī)類及實(shí)例化對(duì)象,我們亦可以改用構(gòu)造函數(shù)法進(jìn)行模擬類對(duì)象的實(shí)現(xiàn)。主要實(shí)現(xiàn)代碼描述如下:

構(gòu)造函數(shù)實(shí)例化模擬類對(duì)象

構(gòu)造函數(shù)實(shí)例化實(shí)現(xiàn)對(duì)象創(chuàng)建實(shí)例如上圖所示,使用這種方法我們也可以快速設(shè)計(jì)模擬類的實(shí)例化實(shí)現(xiàn)。上例中的huawei與iphone可以看成類的實(shí)例化對(duì)象。


ECMAScript 6(ES6)類定義

盡管在ES5中沒有使用class實(shí)現(xiàn)類的定義,但是class作為關(guān)鍵字進(jìn)行了保留。在2015年推出的ES6版本中正式將Class作為對(duì)象模板,用于實(shí)現(xiàn)類的定義,盡管這里的Class本質(zhì)上仍然是函數(shù)。使用Class實(shí)現(xiàn)類的定義基本語(yǔ)法描述如下:

Class定義語(yǔ)法

class定義基本語(yǔ)法描述如上圖所示,借助class關(guān)鍵字,我們可以定義類并能夠設(shè)置其屬性與方法。針對(duì)前文所舉例手機(jī)類、屬性及方法,我們可以使用class進(jìn)行定義。定義與使用描述如下圖:

JavaScript類的定義與使用

使用Class關(guān)鍵字定義類,使得JavaScript中的類更加符合面向?qū)ο蟪绦蛘Z(yǔ)言要求。從屬性、方法等結(jié)構(gòu)方面與我們真正意義上的類更加接近。


本頭條號(hào)長(zhǎng)期關(guān)注編程資訊分享;編程課程、素材、代碼分享及編程培訓(xùn)。如果您對(duì)以上方面有興趣或代碼錯(cuò)誤、建議與意見,可在評(píng)論區(qū)回復(fù)。更多程序設(shè)計(jì)相關(guān)教程及實(shí)例分享,期待大家關(guān)注與閱讀!JavaScript基礎(chǔ)教程系列教程鏈接如下:

JavaScript基礎(chǔ)教程(八)Array數(shù)組對(duì)象定義與訪問

JavaScript基礎(chǔ)教程(七)函數(shù)的編寫與使用

JavaScript基礎(chǔ)教程(六)流程控制之循環(huán)語(yǔ)句

JavaScript基礎(chǔ)教程(五)流程控制之條件語(yǔ)句

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的javascript基础教程_JavaScript基础教程(九)对象、类的定义与使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。