面向?qū)ο?/strong>
標(biāo)簽(空格分隔): 面向?qū)ο?/p>
第一章:面向?qū)ο螅ㄉ希?/strong>
- 什么叫面向?qū)ο?面向過程、面向?qū)ο笮芪尽烧邊^(qū)別
- 構(gòu)造函數(shù) 什么叫構(gòu)造函數(shù) 拔稳、什么是工廠模式
工廠模式:在函數(shù)內(nèi)部創(chuàng)建一個(gè)對象,賦予屬性和方法凿宾,然后返回對象评矩。
function a(name){
var b = new object();
b.name = name;
b.say = function(){
alert(this.name);
}
return b //必須有返回值
}
構(gòu)造函數(shù):彌補(bǔ)工廠模式不能識別對象類型,可以創(chuàng)建特定類型,如Array,Date等哭尝。
function Blog(name, url) {
this.name = name;
this.url = url;
this.alertUrl = function() {
alert(this.url);
}
}
var blog = new Blog('aaa', 'http://www.xxx/');
//即為Blog的實(shí)例,也為Object的實(shí)例
console.log(blog instanceof Blog); // true
console.log(blog instanceof Object); // true
- 原型prototype
每個(gè)函數(shù)都具有一個(gè)prototype屬性剖煌,用來實(shí)現(xiàn)基于原型的函數(shù)繼承與屬性的共享材鹦。
對象由函數(shù)創(chuàng)建,對象具有一個(gè)__proto__
屬性耕姊,稱為隱式原型桶唐,指向創(chuàng)建這個(gè)對象的函數(shù)(constructor)的prototype。
隱式原型是作用是構(gòu)成原型鏈茉兰,同樣是用于實(shí)現(xiàn)基于原型的繼承尤泽,當(dāng)訪問一個(gè)obj的屬性x時(shí),x找不到,則會(huì)沿著obj.__proto__
往下尋找安吁。
- instanceof
L instanceof R L.__proto__.__proto__ ..... ===> R.prototype
一般L是個(gè)對象醉蚁,R是構(gòu)造函數(shù),用來判斷L是否是R的對象鬼店,返回true or false
第二章:面向?qū)ο螅ㄖ校?/strong>
- 方法鏈
- 包裝對象
- 原型鏈
- 原型的默認(rèn)屬性和方法
- 繼承的多種方式 网棍、 類繼承 、 復(fù)制繼承妇智、對象繼承滥玷、更多繼承方式省
第三章:面向?qū)ο螅ㄏ拢?/strong>
- 閉包 什么叫閉包 、閉包有什么特點(diǎn)
閉包可以有權(quán)限訪問其他函數(shù)作用域內(nèi)變量的一個(gè)函數(shù)巍棱。就是將函數(shù)內(nèi)部和外部連接在一起的橋梁惑畴。因?yàn)樽兞康淖饔糜蚴呛瘮?shù)創(chuàng)建的時(shí)候確定的,函數(shù)執(zhí)行完成后航徙,作用域也會(huì)銷毀如贷,內(nèi)存也會(huì)比回收,而閉包是建立在函數(shù)內(nèi)部的子函數(shù)到踏,可以訪問上級作用域杠袱,因此即使上級函數(shù)執(zhí)行完成,作用域也不會(huì)被銷毀(關(guān)系到內(nèi)存機(jī)制)
閉包的優(yōu)點(diǎn):設(shè)計(jì)私有的方法和變量窝稿。
閉包的缺點(diǎn):常駐內(nèi)存楣富,濫用閉包容易造成內(nèi)存溢出。
- 遞歸 什么是遞歸伴榔、哪些時(shí)候會(huì)用遞歸
- 如何開發(fā)插件