js中的物件導向

2021-09-24 19:49:06 字數 2500 閱讀 1373

很火的一張圖很生動形象

mdn 給了我們一堆術語

請嘗試理解物件導向,並背誦 mdn 裡的以下內容

class 類

定義物件的特徵。它是物件的屬性和方法的模板定義.

object 物件

類的乙個例項。

property 屬性

物件的特徵,比如顏色。

method 方法

物件的能力,比如行走。

constructor 建構函式

物件初始化的瞬間, 被呼叫的方法. 通常它的名字與包含它的類一致.

inheritance 繼承

乙個類可以繼承另乙個類的特徵。

encapsulation 封裝

一種把資料和相關的方法繫結在一起使用的方法.

abstraction 抽象

結合複雜的繼承,方法,屬性的物件能夠模擬現實的模型。

polymorphism 多型

多意為『許多』,態意為『形態』。不同類可以定義相同的方法或屬性。

1 封裝 model view controller

1.	controller === object

2. controller.

init

(view, model)

controller.init.

call

(controller, view, model)

那麼 controller.init 裡面的 this 當然 tm 是 controller

也就是這個1裡面的object

controller.init 裡面的 this 就是 object

object.init 裡面的 this 就是 object

3. initb.

call

(this

)initb 裡面的 this

=== call 後面的this

call 後面 this

=== 第二條裡的 this

第二條裡面的 this

=== object

=> initb 裡面的 this 就是 object

2 複習 this

button.

onclick

=functionf1(

)button.onclick.

call()

button.

addeventlistener

('click'

,function()

2 結果

$

('ul').

on('click'

,'li'

/*selector*/

,function()

)

3 結果

去看 on 的原始碼呀 -> 做不到

jquery 的開發者知道 onclick 的原始碼,f1.call(???)

jquery 的開發者寫了文件

看文件呀

functionx(

),f2(

)}}var options =,f2

()}var x =x(

)x.f1(options)

3 new 的作用

var object =

newobject()

自有屬性 空

object.proto === object.prototype

var array =

newarray

('a'

,'b'

,'c'

)自有屬性 0

:'a'1:

'b'2

:'c'

,length:

3array.proto === array.prototype

array.prototype.proto === object.prototype

var fn =

newfunction

('x'

,'y'

,'return x+y'

)自有屬性 length:

2, 不可見的函式體:

'return x+y'

fn.proto === function.prototype

array is a function

array

=function()

array.proto === function.prototype

JS中的物件導向

一 首先建立js物件的四種方式 1.普通模式 var person new object person.name irving person.age 22 person.sayhi function 但是這樣每次去建立乙個類的物件相當的麻煩。所以有了下面的集中建立物件的模式。2.工廠模式 funct...

js中的物件導向。

1.js中的物件導向就是類,而類中關鍵的就是繼承 2.首先宣告乙個類 var gandparent function 3.建構函式實現繼承 function grandparent grandparent.prototype.say function function son console.log...

js中物件導向的繼承

參考 繼承 缺點 修改子類dog.prototype的同時也影響到了父類的animal.prototype 物件導向的拷貝繼承 上面 只是用了淺拷貝實現了物件的繼承,jquery中就是利用了拷貝繼承。function extend c,p if typeof p object else if win...