原型

1:OOP指什么?有哪些特性?

OOP是Object Oriented Programming的简称,即面向对象设计。
特性:

  1. 封装
    能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。
    • 封装允许使用者不必关心类的工作机理就可以使用它。
    • 所有对数据的访问和操作都必须通过特定的方法,否则无法使用,从而达到数据隐藏的目的。
      2 继承
      继承的方法允许在不该都源程序的基础上对其进行扩充,这样使得原功能得以保存,也是新功能得以扩展。提高程序的复用率。
      3 多态性
      同一操作作用于不同的类的实例,将产生不同的执行结果,不同类的对象接收到相同的信息时,得到不同的结果。就比如同一个人,如果他的信息为上班,我们可以定义
      为上班族,如果他的信息为上学,我们可以定义为学生。
      .
      2:如何通过构造函数的方式建造一个拥有属性和方法的对象。
      通过构造函数,使用new+函数名后就可以建造一个对象
1
2
3
4
5
6
function Peo(name){
this.nick=name;
this.getN=function(){
console.log(this.nick)
}
var p1=new peo("Jacc")
3:prototype是什么?有什么特性?

prototypes属性是我们有能力向对象添加属性和方法。每个函数就是一个对象,函数对象都有一个子对象,prototype对象,类是以函数的形式来定义的,prototype表示该函数的原型,也表示一个类的成员的集合。
特性:

  1. 任何一个函数都有prototype这个属性,对应的值是一个对象,叫做原型对象。
  2. 对于任何一个函数来说,都有一个prototype对象,当使用构造函数生成一个对象的时候,这个对象就拥有一个proto属性。
    4.画出如下代码的原型图
1
2
3
4
5
6
7
8
9
10
11
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('前端');

无标题.jpg

5.创建一个Car对象,拥有属性name、color、status;拥有方法run、stop、getStatus。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script>
function Car(name,color,status){
this.name=name;
this.color=color;
this.status=status;
}
Car.prototype.run = function(){
console.log(this.status)
};
Car.prototype.stop=function(){
console.log(this.status)
};
Car.prototype.getStatus=function(){
console.log(this.status)
}
var p1 = new Car("hunger","red",30);
</script>
6:创建一个GoTop对象,当new一个GoTop对象则会在页面创建一个回到顶部的元素,点击页面滚动到底部。又有一下属性和方法。
1
2
3
4
1. `ct`属性,GoTop 对应的 DOM 元素的容器
2. `target`属性, GoTop 对应的 DOM 元素
3. `bindEvent` 方法, 用于绑定事件
4 `createNode` 方法, 用于在容器内创建节点

代码
预览