問(wèn)答
- OOP 指什么倚评?有哪些特性 (難度: ***)
OOP(object oriented programming)是指面向?qū)ο缶幊?
封裝性:把客觀的事物封裝成抽象的類散休,并且類可以把自己的數(shù)據(jù)和方法只給可信的類操作, 對(duì)不可信的信息進(jìn)行隱藏。
繼承性:他可以使用現(xiàn)有類的功能雳刺,并且可以在不重新編寫原來(lái)類的情況下劫灶,進(jìn)行擴(kuò)展。
多態(tài)性:允許將子類類型的指針賦值給父類類型的指針掖桦,就是允許將父對(duì)象設(shè)置成為一個(gè)或多個(gè)字對(duì)象對(duì)等的技術(shù)本昏。賦值之后,父對(duì)象就可以根據(jù)當(dāng)前賦值給他的字對(duì)象的特性以不同的方式運(yùn)作枪汪。
- 如何通過(guò)構(gòu)造函數(shù)的方式創(chuàng)建一個(gè)擁有屬性和方法的對(duì)象? (難度: ***)
<script>
function zxc(name, age) {
this.a = name;
this.b = age;
}
zxc.prototype = {
behavior: function () {
console.log(this.a + ' is ' + this.b + ' yep');
}
}
var asd = new zxc('I-wipe', 3);
asd.behavior();//console.log('I-wipe is 3 yep');
</script>
- prototype 是什么涌穆?有什么特性 (難度: ***)
prototype是function自帶的屬性,function也是一個(gè)對(duì)象雀久,prototype也是一個(gè)對(duì)象蒲犬。prototype里面有兩個(gè)東西,一個(gè)是指向object岸啡,還有一個(gè)是指向這個(gè)目前function本身constructor原叮。
- 畫出如下代碼的原型圖 (難度: ****)
function People (name){
this.name = name;
this.sayName = function(){
console.log('my name is:' + this.name);
}
}
People.prototype.walk = function(){
console.log(this.name + ' is walking');
}
var p1 = new People('谷谷谷鳥');
var p2 = new People('前端');
原型圖待做......
- 以下代碼中的變量age有什么區(qū)別(難度: ****)
function People (){
var age = 1//局部變量age = 1;
this.age = 10;//誰(shuí)調(diào)用誰(shuí)會(huì)獲得一個(gè)buff。age = 10;
}
People.age = 20;//給函數(shù)對(duì)象一個(gè)age = 20巡蘸》芰ィ看圖
People.prototype.age = 30;//給函數(shù)的原型一個(gè)age = 30;
代碼
- 創(chuàng)建一個(gè) Car 對(duì)象,擁有屬性
name
悦荒、color
唯欣、status
;擁有方法run
搬味,stop
境氢,getStatus
(難度: **** )
<script>
function Car(name, color, status) {
this.name = name;
this.color = color;
this.status = status;
}
Car.prototype = {
run : function () {
console.log('runnnnn')
},
stop : function () {
console.log('stoppppppp')
},
getStatus: function () {
console.log(this.status)
}
}
var car = new Car('a', 'b', 'c');
car.run();
car.stop();
car.getStatus();
</script>
- 創(chuàng)建一個(gè) GoTop 對(duì)象,當(dāng) new 一個(gè) GotTop 對(duì)象則會(huì)在頁(yè)面上創(chuàng)建一個(gè)回到頂部的元素碰纬,點(diǎn)擊頁(yè)面滾動(dòng)到頂部萍聊。擁有以下屬性和方法 (難度: ****)
- ct屬性,GoTop 對(duì)應(yīng)的 DOM 元素的容器
- target屬性悦析, GoTop 對(duì)應(yīng)的 DOM 元素
- bindEvent 方法寿桨, 用于綁定事件
- createNode 方法, 用于在容器內(nèi)創(chuàng)建節(jié)點(diǎn)
- 使用構(gòu)造函數(shù)創(chuàng)建對(duì)象的方式完成輪播功能( 查看demo )强戴,使用如下調(diào)用方式
function Carousel($node){
//todo...
}
Carousel.prototype = {
//todo ..
};
var $node1 = $('.ct').eq(0);
var $node2 = $('.ct').eq(1);
var carousel1 = new Carousel($node1);
var carousel2 = new Carousel($node2);
- 使用構(gòu)造函數(shù)創(chuàng)建對(duì)象的方式實(shí)現(xiàn) Tab 切換功能