es5的建構函式:
functiones6的類:f(name)
f.prototype.writecss = function
() f.writejs = function () ;
//定義在類上的靜態屬性
let f = new
f();
f.writecss();
f.writejs();
class f;es5的寄生式組合繼承:(只能繼承父類的共有屬性)writecss()
static writejs()
}let f = new f('lily');
console.log(f);
f.writejs();
//只能繼承父類的公有屬性function
f(name)
f.prototype.writecss = function
() let f = new
f();
//先在例項上查詢,若沒有則通過__proto__去所屬類的原型上找
//__proto__是實現繼承的關鍵 f類能查詢到object類原型上的屬性,說繼承於object
console.log(f.hasownproperty('name'));
console.log(f.prototype.__proto__ === object.prototype);//
true f類是object類的子類,子類是可以呼叫原型上的屬性
function
s(age)
s.prototype
= object.create(f.prototype);
//寄生式組合繼承 ie6~8不支援 必須在原型物件之前!!
s.prototype.writejs = function
() ;
//實現s類是f類的子類,s類就能呼叫f類的公有屬性
= f.prototype;
let s = new
s();
s.writecss();
es5的call繼承:(繼承父類的私有屬性):
//es6繼承:(繼承私有屬性,共有屬性和靜態屬性):繼承父類的私有屬性
function
f(name)
f.prototype.writecss = function () ;
function
s(age, name)
s.prototype = object.create(f.prototype);//
寄生式組合繼承 ie6~8不支援 必須在原型物件之前!!
s.prototype.writejs = function () ;
//實現s類是f類的子類,s類就能呼叫f類的私有屬性
let s = new s(20,'lucy');
console.log(s.name);
class fwritecss()
static fn()
} class s extends f
writejs()
} let s = new s(20,'lucy');
console.log(s.name);
s.writecss();
s.fn();
ES5與ES6建構函式
function 函式名 引數 函式名.prototype.方法名 function class 類名 方法名稱 1.定義建構函式 es5 function 函式名定義 es6 class 類名定義 注 class建構函式類名後沒有 2.定義例項化物件屬性和屬性值 es5 function 函式中定...
ES6建構函式class 和 ES5建構函式語法
在說建構函式之前,我們先講一講物件導向程式設計。所謂的物件導向程式設計,是一種程式設計思想和書寫方式方法,它是將程式封裝在物件內,並給物件設定屬性和屬性值。而這個封裝程式的物件我們稱之為例項化物件,而生成例項化物件的函式就是建構函式。一般情況下,為了和普通函式區別,我們將建構函式的首字母大寫。接下來...
ES6函式比對ES5函式
這裡只做簡單的es6函式與es5函式對比,把es6函式中新增的方法或者用法介紹一下。方便大家學習 記憶。隨著社會發展,瀏覽器肯定會在不久全部支援es6語法,因為現在的ie8使用者都很少了,做web前端將不再受此束縛!其他語言已經支援函式引數預設值,咱們js也不會落後的。例 es6寫法 a 預設值10...