1.目的:利用一種機制可以幫我們建立具有特殊功能的物件
2.封裝建立物件的過程【api本質】
1)工廠函式模式
問題:型別無法細分;函式會重複建立,破壞封裝性
2)建構函式模式
系統建構函式:object\array\data\number\string\boolea\regexp
自定義建構函式:function mypush(){}
問題:函式會重複建立;破解封裝性
3)建構函式模式與原型模式相結合
屬性儲存在例項中,方法儲存在例項的建構函式原型中
function
foo(name,age)
foo.prototype.
sayname
=function()
var one =
newfoo
("wangwu",5
);//foo
3.instanceof
判斷物件是否是函式的例項
obj instanceof function
var a =
;console.
log(a instanceof
array);
//true
console.
log(a instanceof
object);
//true
console.
log(a instanceof
number);
//false
4.繼承
1)原型鏈的繼承
子建構函式的原型指向父建構函式的例項
foo.prototype 是object的例項物件
2)借用建構函式
dom操作
1.html中新增css**
style屬性、style標籤、link herf = 「.css」
2.html中新增js**
事件屬性/herf
scrip標籤內
scrip src= 「.js」
3.第三方js庫【操作html】
高階物件導向
最基本的物件導向寫法 建立建構函式 function aaa 構造方法 aaa.prototype.showname function 使用 建立例項 var a1 new aaa a1.showname 在js原始碼中 系統物件也是基於原型的程式 function array array.prot...
Day16 JS高階 物件導向高階高階
一 物件建立模式 二 繼承模式 一 物件建立模式 用各種各樣的方式來建立物件 方式一 object 建構函式模式 第二種方式 方式三 工廠模式 這種方法的不足就是 物件沒有乙個具體的型別,如果我們想要又這樣具體的型別的話,就要自定義乙個型別了 方式四 自定義建構函式模式 這樣的話這兩個就有了具體的型...
python高階 物件導向
使用類名.mro 可以檢視到下乙個呼叫的是哪個父類 import copy deftest2 a,b,args,kwargs print print a print b print args print kwargs deftest1 a,b,args,kwargs print a print b ...