day29 高階物件導向技術

2021-09-28 14:49:58 字數 1068 閱讀 9399

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 ...