什么事对象?对象是一个整体,对外提供一些操作。而面向对象,就是使用对象时,只关注对象提供的功能,不关注内部的细节,面向对象是一种通用思想。
面向对象编程的特点:
抽象:抓住核心问题;
封装:不考虑内部实现,只考虑功能使用;
继承:从已有对象上,继承出新的对象;
对象的组成:
方法和属性,也就是函数与变量。
工厂方式:
下面的person1和person2就是创建出来的对象。
function createPerson(name, age){
var person = new Object(); person.name = name;
person.age = age; person.showName = function(){
console.log(person.name);
} return person;
} var person1 = createPerson('小李', '20');
var person2 = createPerson('小王', '30');
上面这种内置的方法,每创建一个对象,都要重新创建里面方法,所以我们可以通过prototype原型优化。
function CreatePerson(name, age){
this.name = name;
this.age = age;
return this;
}
CreatePerson.prototype = {
showName : function(){
console.log(this.name);
}
} var person1 = new CreatePerson('小李', '20');
var person2 = new CreatePerson('小王', '30');
这样,CreatePerson就类似一个类,这个类有showName的方法。
当每次new一个CreatePerson的时候,都会创建一个对象,这个对象就包含showName方法。