国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

老生常談JavaScript面向?qū)ο蠡A(chǔ)與this指向問題

2024-05-06 15:25:38
字體:
供稿:網(wǎng)友

前 言

我們的程序語言經(jīng)歷了從“面向機器”、到“面向過程”、再到“面向?qū)ο蟆钡囊粋€過程。而JavaScript是一門基于對象的一門語言,它介于面向過程與面向?qū)ο笾g。在學習JavaScript的過程中,OOP是非常重要的一環(huán),下面我們來一起探討一下JS中的面向?qū)ο蟀桑。。?/p>

1 、OOP的基礎(chǔ)問題

1.1什么是面向過程和面向?qū)ο螅?/p>

面向過程:專注于如何去解決一個問題的過程步驟。編程特點是由一個個的函數(shù)去實現(xiàn)每一步的過程步驟,沒有類和對象的概念。

面向?qū)ο螅簩W⒂谟赡囊粋€對象來解決這個問題。編程特點是出現(xiàn)了一個個的類,從類中拿到這個對象,由這個對象去解決具體的問題。

對于調(diào)用者來說,面向過程需要調(diào)用者自己去實現(xiàn)各種函數(shù)。而面向?qū)ο螅恍枰嬖V調(diào)用者對象中具體方法的功能,而不需要調(diào)用者了解方法中的實現(xiàn)細節(jié)。

1.2面向?qū)ο蟮娜筇卣?/p>

繼承、封裝、多態(tài)

1.3類和對象的關(guān)系

① 類:一類具有相同特征(屬性)和行為(方法)的集合。

比如:人類-->屬性:身高、體重、性別 方法:吃飯、說話、走路

② 對象:從類中,拿出具有確定屬性值和方法的個體。

比如:張三-->屬性:身高180、體重180 方法:說話-->我叫張三,身高180

③ 類和對象的關(guān)系

類是抽象的,對象是具體的(類是對象的抽象化,對象是類的具體化)

解釋一下:

類是一個抽象的概念,只能說類有屬性和方法,但是不能給屬性賦具體的值。比如說人類有姓名,但是不能說人類的姓名叫啥。。。

對象是一個具體的個例,是將類中的屬性進行具體賦值而來的個體。比如說張三是人類的一個個體,可以說張三的姓名叫張三。也就是張三對人類的每一個屬性進行了具體的賦值,那么張三就是由人類產(chǎn)生的一個對象。

2、 JavaScript中的面向?qū)ο?/p>

2.1創(chuàng)建類和對象的步驟

①創(chuàng)建一個類(構(gòu)造函數(shù)):類名必須使用大駝峰法則,即每個單詞的首字母必須大寫。

function 類名(屬性1){  this.屬性1 = 屬性1;  this.方法 = function(){   //方法中要調(diào)用自身屬性,必須要使用this.屬性  }}

②通過類,實例化(new)出一個對象。

var obj = new 類名(屬性1的具體值);

obj.屬性; 調(diào)用屬性

obj.方法(); 調(diào)用方法

③注意事項

>>>通過類名,new出一個對象的過程,叫做“類的實例化”

>>>類中的this,會在實例化的時候,指向新new出的對象。所以,this.屬性 this.方法,實際上是將屬性和方法綁定在即將new出的對象上面。

>>>在類中,要調(diào)用自身屬性,必須使用this.屬性名、如果直接使用變量名,則無法訪問對應的屬性。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 精河县| 沙湾县| 新和县| 时尚| 金溪县| 荔波县| 青河县| 广东省| 进贤县| 康马县| 克拉玛依市| 陆河县| 宜君县| 呼伦贝尔市| 沧源| 都安| 琼海市| 绩溪县| 霍山县| 银川市| 嵊泗县| 德保县| 广宗县| 平阳县| 綦江县| 深泽县| 方正县| 丹东市| 七台河市| 东兰县| 诸城市| 扬州市| 通化县| 灵武市| 绥中县| 三亚市| 墨竹工卡县| 上虞市| 台州市| 应用必备| 侯马市|