对象、原型
2016-09-23 本文已影响28人
Nicklzy
OOP 指什么?有哪些特性 (难度: ***
)
- 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。
- 封装:能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。具备封装性(Encapsulation)的面向对象程序设计隐藏了某一方法的具体运行步骤,取而代之的是通过消息传递机制发送消息给它。封装是通过限制只有特定类的对象可以访问这一特定类的成员,而它们通常利用接口实现消息的传入传出。
- 继承:可以使用现有类的功能,并且可以在不重新编写原来类的情况下,进行扩展。
- 多态: 是指由继承而产生的相关的不同的类,其对象对同一消息会做出不同的响应
- 抽象: 简化复杂的现实问题的途径,它可以为具体问题找到最恰当的类定义,并且可以在最恰当的继承级别解释问题。
如何通过构造函数的方式创建一个拥有属性和方法的对象? (难度: ***
)
核心为:
var xxx = new function()
prototype 是什么?有什么特性 (难度: ***
)
- 所有函数都有 prototype
- 对象.proto === 构造函数.prototype
函数可以通过prototype这个属性创建一个公共区域,此函数构造的对象都可以通过它们的proto属性访问到这个公共区域
画出如下代码的原型图 (难度: ****
)
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有什么区别(难度: ****
)
function People (){
var age = 1;//局部变量
this.age = 10;//为构造对象中的age
}
People.age = 20;//函数自身的属性age
People.prototype.age = 30;//函数的原型age