1. OOP 指什么?有哪些特性
OOP指:Object Oriented Programming,面向对象编程
特性:
1.封装
封装指的是将方法和属性保存起来,防止外界直接调用的一种手段;若要访问属性和方法,必须先声明一个类的实例,通过这个实例的接口去访问属性和调用方法
2.继承
A对象有一些属性和方法,B对象有一些属性和方法;若A对象继承自B对象,A对象可以访问B对象的属性和方法
3.多态
当两个对象继承自同一个类时,每个对象对父类的某一方法或者属性重写后的不同表现形式就是多态;
2.如何通过构造函数的方式创建一个拥有属性和方法的对象?
function Person(nick, age){
this.nick = nick;
this.age = age;
this.sayName = function(){
console.log(this.nick);
}
}
var p1 = new Person('Byron', 25);
3.prototype 是什么?有什么特性
prototype是原型对象。
- 除了null外,每个对象都继承自另一个对象
- 原型对象的属性和方法可以被继承的对象所使用
- 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.创建一个 Car 对象,拥有属性name、color、status;拥有方法run,stop,getStatus
function Car(name,color) {
this.name = name
this.color = color
this.status = 'stop'
}
Cat.prototype.run = function() {
this.status = 'run'
}
Cat.prototype.stop = function() {
this.status = 'stop'
}
Cat.prototype.getStatus = function() {
return this.status
}
6.创建一个 GoTop 对象,当 new 一个 GotTop 对象则会在页面上创建一个回到顶部的元素,点击页面滚动到顶部。拥有以下属性和方法
1. `ct`属性,GoTop 对应的 DOM 元素的容器
2. `target`属性, GoTop 对应的 DOM 元素
3. `bindEvent` 方法, 用于绑定事件
4. `createNode` 方法, 用于在容器内创建节点
http://js.jirengu.com/jinet/3/edit
7.使用木桶布局实现一个图片墙
http://js.jirengu.com/wazul/3/edit