js物件導向ES6 學習筆記

2022-05-18 03:14:49 字數 1432 閱讀 1979

學習筆記:

p2:物件導向:封裝性、繼承性、多型性

p3:類:抽象了物件的公共部分,泛指某一大類,

物件:可由類例項化生成,特指某乙個(包含屬性+方法)

p4:類裡都會有乙個建構函式constructor(),用new person()例項化來生成物件時會自動呼叫constructor執行,(如果不寫constructor()函式,類也會自動生成這個函式)

定義乙個類寫成 class person ,首字母大寫、類中的方法不寫function關鍵字

p5:類中的方法不寫function關鍵字、類裡多個函式之間不加逗號間隔

p6:super:子類使用super可以用來呼叫父類的建構函式,還可以呼叫父類的普通函式,且super必須寫在this的前面

class father 

sum()

} class son extends father

substract ()

} let son = new son(3, 4)

son.sum()

son.substract()

由於上面super.sum()和son.sum()各呼叫一次,所以最後列印了兩次

如果沒有super(x,y)或super沒在this前面都會報下面的錯,

p7:類的繼承中,如果例項化子類且輸出乙個方法,會先去看子類有沒有這個方法,如果有就執行子類的,如果沒有,就去父類找有沒有這個方法,如果有就執行父類的這個方法(就近原則)

p8:super必須寫在this之前,否則會報錯

p9:類沒有變數提公升,所以必須先定義類再例項化物件,類共有的屬性和方法一定要加this

p10:類裡的constructor裡的this指向例項化物件,而類裡的方法指向呼叫者(這個時候this就不一定指向例項化物件了,比如可以指向乙個按鈕...)

let _this = ""class singer 

sing()

} let singer = new singer("qyl")

在有的瀏覽器裡,this.name顯示為undefined

p11:物件導向tab欄案例,

else:

1.如果不寫constructor()函式,類也會自動生成這個函式

2.類繼承的就近原則,所有情況都來一遍

ES6物件導向

前言 在es5中,對於物件沒有統一規定的寫法,我們只能以函式的形式來寫乙個物件。而在es6語法中,我們有了class,constructor,extends,supper 等關鍵字來實現物件導向。下面將介紹es6物件導向的使用 class person 類的方法 showname 使用new關鍵字建...

ES6物件導向

constructor 建構函式 建構函式就是new 類名 例項化物件時執行的函式 所有類中的建構函式都叫constructor 當我們new 類名 就是執行了constructor這個函式 let b new box 5,10 物件中建構函式與當前物件的類是相同 console.log b.con...

ES6 簡化物件導向OOP

1.如果物件的成員值來自於外部的變數,且屬性名和變數名相同時,可只寫乙個 比如 var signin function varsignup function varsignout function var obj 簡寫成 var obj 將三個函式放在乙個中匯出export module.expor...