多重繼承
多型this:當前的方法屬於誰。
工廠模式//最基礎的建立物件--使用此方式創造多個物件會瘋
var obj = new object();
obj.name = "herman";
obj.sayname = function() ;
obj.sayname(); //herman
問題://解決建立多個物件的問題,可以想到用函式將上面**包起來,將變數作為引數傳到物件中。這個函式叫做建構函式(可以理解為構造出物件的函式)。這種模式被稱為工廠模式。
function createperson(name) ;
return obj; //出廠
}var p1 = createperson('herman');
p1.sayname();
解決沒有new的問題:
解決函式重複的問題:function createperson(name) ;
//呼叫函式,前面加上new,js會在這兒返回這個物件:return this
}var p1 = new createperson('herman'); //呼叫函式,前面加上new。
var p2 = new createperson('allen');
p1.sayname();
p2.sayname();
p1.sayname === p2.sayname; //false
在建構函式加屬性,在原型上加方法。此方式稱為混合模式。function createperson(name)
createperson.prototype.sayname = function()
var p1 = new createperson('herman');
var p2 = new createperson('allen');
p1.sayname();
p2.sayname();
p1.sayname === p2.sayname; //true
例:選項卡
one
twothree
one.one.
two.two.two
three.three.
實現選項卡功能:
// window.onload = function() ;
show.call() //a; this為
方法的繼承通過淺拷貝方式。function a() ;
function b()
var b = new b();
console.log(b.abc); //123
對物件導向的理解
修飾符一般只修飾屬性和方法,屬性盡量使用private,方法盡量使用public public公開的,只要在同一工程內就可以訪問 protected受保護的,只能在當前包或子類中才能訪問 預設,沒有修飾符即預設,只能在當前包中才能訪問 private,私有的,只能在當前類中使用 static 修飾變...
對物件導向的理解
物件導向包括三個特徵 繼承 封裝 多型。類的繼承性是指從已有的乙個類來extends子類,子類具有了父類的所有特徵,同時,子類也可以有新的特性。比如 人是乙個類,男人具有了人類的所有的特性,比如思考,比如勞動。同時,男人也有新的特性,比如男人會長鬍子。類的封裝是指類把所有的操作都封閉起來,僅僅提供介...
對物件導向的理解
封裝 就是將一類事物的屬性和行為抽象成乙個類,使其屬性私有化,行為公開化,提高了資料的隱秘性的同時,使 模組化。這樣做使得 的復用性更高。繼承 則是進一步將一類事物共有的屬性和行為抽象成乙個父類,而每乙個子類是乙個特殊的父類 有父類的行為和屬性,也有自己特有的行為和屬性。這樣做擴充套件了已存在的 塊...