面向?qū)ο螅?/h5>
對(duì)象:黑盒子 Math(abs random ceil floor) Date Object
蓋樓房:調(diào)用具有某些功能的人來實(shí)現(xiàn)某些功能。
對(duì)象是一個(gè)整體,對(duì)外提供一些功能和屬性。
使用對(duì)象時(shí)只關(guān)注對(duì)象的提供的功能,不關(guān)注對(duì)象的內(nèi)部實(shí)現(xiàn)。
OOP | OO
面向?qū)ο螅?br>
創(chuàng)建者:
使用者:
面向過程:
過程:過程就是面向函數(shù)式編程。function,前面所學(xué)的所有的代碼的形式都是面向過程。
面向過程
優(yōu)點(diǎn):性能比面向?qū)ο蟾撸驗(yàn)轭愓{(diào)用時(shí)需要實(shí)例化,開銷比較大,比較消耗資源; 比如單片機(jī)、嵌入式開發(fā)、 Linux/Unix等一般采用面向過程開發(fā),性能是最重要的因素。
缺點(diǎn):沒有面向?qū)ο笠拙S護(hù)、易復(fù)用、易擴(kuò)展
面向?qū)ο?/h6>
優(yōu)點(diǎn):易維護(hù)、易復(fù)用、易擴(kuò)展,由于面向?qū)ο笥蟹庋b、繼承、多態(tài)性的特性,可 以設(shè)計(jì)出低耦合的系統(tǒng),使系統(tǒng) 更加靈活、更加易于維護(hù)
缺點(diǎn):性能比面向過程低
面向?qū)ο蟮奶攸c(diǎn):(封裝,繼承,多態(tài))
抽象:就是建模,抓住核心問題。
封裝:
使用者:不必考慮內(nèi)部實(shí)現(xiàn),只考慮內(nèi)部提供的功能。
創(chuàng)建者:考慮好對(duì)外提供的功能,實(shí)現(xiàn)內(nèi)部的代碼。
繼承:
從已有的對(duì)象上繼承出新的對(duì)象,新對(duì)象具有了老對(duì)象的一些功能和特性。
多重繼承:
沙發(fā) 汽車(帶輪子的沙發(fā))
盒子
汽車 集裝箱貨車
多態(tài):龍生九子
對(duì)象的組成:
屬性:屬于對(duì)象的變量
方法:屬于對(duì)象的函數(shù)
this: 95%
每一個(gè)函數(shù)都具有自己的調(diào)用對(duì)象。
函數(shù)的調(diào)用者就是this。
事件:觸發(fā)事件的對(duì)象
div.onclick = function(){
alert(this);
};
Date 時(shí)間
Array 數(shù)組
RegExp 正則
Math 數(shù)學(xué)
Object 對(duì)象 沒有功能
是所有js對(duì)象的父級(jí)。
跨域:
域:域名協(xié)議端口一致的話就叫做同源。只要有一個(gè)不同,那么就是不同源。
ajax不能請(qǐng)求不同源上的資源。就會(huì)產(chǎn)生跨域問題。