ES6物件導向

2022-06-22 05:42:10 字數 2336 閱讀 1333

constructor  建構函式

// 建構函式就是new 類名  例項化物件時執行的函式

// 所有類中的建構函式都叫constructor

// 當我們new 類名()就是執行了constructor這個函式

// let b=new box(5,10);

// 物件中建構函式與當前物件的類是相同

// console.log(b.constructor===box);

**演示

// var arr=[1,2,3];

// console.log(arr.constructor===array);

// var date=new date();

// console.log(date.constructor===date);

// var str="aaaa";

// console.log(str.constructor===string);

// var bool=true;

// console.log(bool.constructor===boolean);

// var ul=document.queryselector("ul");

// ul.addeventlistener("click",clickhandler);

function clickhandler(e)

建構函式 ,是一種特殊的方法。主要用來在建立物件時初始化物件, 即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中。特別的乙個類可以有多個建構函式 ,可根據其引數個數的不同或引數型別的不同來區分它們 即建構函式的過載。

// let  arr=new array();

// let date=new date();

// let str=new string();

// 對於語言來說,其他語言的建構函式比較豐富,可以有多個,並且傳參可以不同

// 但是對於js來說,建構函式有且僅有乙個,並且任何建構函式的名字固定是constructor

// 可以認為constructor與類名相等

// class box

// }

// let b=new box();

// b.play();

class box

play()

// 靜態方法

static run()

}// let b=new box();

// console.log(b.a);

// console.log(box.a);

// 類當中的屬性,在例項化時會設定給例項化的物件

// box類中的屬性a,因為例項化生成了o1和o2兩個物件,因此,o1和o2兩個物件都擁有了a屬性

// 這個物件的屬性現在就屬於這兩個各自的物件了,他們沒有任何關係

// 他們都有這個a屬性,屬性值是各自的

// var o1=new box(5);

// var o2=new box(6);

// o1.a=100;

// o2.a=1000;

// o1.play();

// o2.play();

// console.log(o1,o2);

es6物件導向的繼承

class a

sum()

run()

}class b extends a

count()

// 因為繼承後有sum的方法了,如果這樣寫,就相當於將這個sum的方法重寫覆蓋

// 不會再執行超類的sum方法,而只執行當前sum方法

sum()

// 既可以執行超類中原有的run方法,又可以在這個基礎上增加自己新內容

run()

}let o1=new a(3,5);

// o1.sum();

// o1.run();

let o2=new b(6,7,10);

// o2.sum();

// o2.count();

// console.log(b.abc);

o2.run();

// 繼承後的類,方法有三種處理

// 1\完全繼承  不需要重寫這個方法,自動就有,超類的方法執行什麼,這個類就會執行什麼

// 2\重寫覆蓋  只需要在這個類中重寫這個方法就可以覆蓋繼承過來的內容

// 3\在原方法中增加新的內容   重新該方法,並且執行super.方法名這樣就可以執行超類方法,後面可以自己新增

ES6物件導向

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

ES6 簡化物件導向OOP

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

js物件導向ES6 學習筆記

學習筆記 p2 物件導向 封裝性 繼承性 多型性 p3 類 抽象了物件的公共部分,泛指某一大類,物件 可由類例項化生成,特指某乙個 包含屬性 方法 p4 類裡都會有乙個建構函式constructor 用new person 例項化來生成物件時會自動呼叫constructor執行,如果不寫constr...