問題1: OOP 指什么颁湖?有哪些特性
OOP指的是面向對象程序設計车海。最重要的概念是類和對象勒叠,1. 類:
類是對現實生活中一類具有共同特征的事物的抽象
- 對象:
對象是類的實例捐韩,對象包含屬性和方法,屬性是需要記憶的信息箩艺,方法是對象能夠提供的服務窜醉。
它的特性有:
1.繼承
子類可以繼承父類的屬性和方法。子類可以添加新的屬性和方法艺谆,子類可以重寫父類的屬性和方法
**問題2: 如何通過構造函數的方式創(chuàng)建一個擁有屬性和方法的對象? **
舉個例子:
function Student(sex,age){
this.sex=sex;
this.age=age;
this.study=function(){
console.log("work hard")
}
}
var jay=new Student("男",21) //實例化
jay.sex;
jay.age; //得到jay的屬性
jay.study(); //輸出"work hard"
問題3: prototype 是什么榨惰?有什么特性
prototype即原型,只有函數才有prototype屬性静汤。prototype是類的共有屬性琅催,可以理解為prototype是用來存放共有屬性的容器。對象的原型的改變會傳播到所有對象上虫给,除非這些屬性和方法被其他對原型鏈更里層的改動所覆蓋藤抡。 實例可以通過_prop_
訪問到其類型的prototype屬性,供所有實例訪問抹估。
問題4:畫出如下代碼的原型圖
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('前端');
問題5: 創(chuàng)建一個 Car 對象缠黍,擁有屬性name、color药蜻、status瓷式;擁有方法run替饿,stop,getStatus
var Car=function(name,color,status){
this.name=name;
this.color=color;
this.status=status;
}
Car.prototype.run=function(){
console.log("The car is running");
}
Car.prototype.stop=function(){
console.log("The car is stopping");
}
Car.prototype.getStatus=function(){
console.log("The car is'+this.status+'!");
}
var car1=new Car('BMW','black','stopping');
car1;
問題6: 創(chuàng)建一個 GoTop 對象蒿往,當 new 一個 GotTop 對象則會在頁面上創(chuàng)建一個回到頂部的元素盛垦,點擊頁面滾動到頂部湿弦。擁有以下屬性和方法
1. `ct`屬性瓤漏,GoTop 對應的 DOM 元素的容器
2. `target`屬性, GoTop 對應的 DOM 元素
3. `bindEvent` 方法颊埃, 用于綁定事件
4 `createNode` 方法蔬充, 用于在容器內創(chuàng)建節(jié)點