一:面向对象编程的思想是什么?
含义:找具有解决问题功能的对象,调用其功能并完成任务。如果对象不存在,则创建对象。面向对象不是面向过程的替代,而是面向过程的封装。
二:创建对象的方式有哪些呢?
对象的创建方式有以下三个方面:
1:简单方式
let obj = new Object()
2:字面量创建对象
let obj = {}
3:工厂函数
function createPerson3(name,age){var o = new Object(); o.name = name; o.age = age; o.sayName = function () {
alert(this.name);
};
return o;
}
var person3 = createPerson3('nike3', 29);
三:构造函数的特点
1:函数名首字母一般大写
2:构造函数的调用方式,使用new语句
3:创建对象或者使用方法时用this语句
四:原型对象prototype
1:众所周知,每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象也称原型对象,原型对象包含函数实例共享的方法和属性。也就是说将函数用作构造函数调用的时候,新创建的对象会从原型对象上继承方法和属性。
2:如何查看原型对象及其方法和属性。
构造函数名.prototype
五:构造函数,原型对象,实例对象三者之间的关系
1:实例对象是通过构造函数进行创建,原型对象是有了构造函数就会产生。
2:在构造函数中有一个prototype属性,指向原型对象。
3:原型对象中的方法和属性可以被实例对象所共享。
六:原型对象的作用
1:在js中的所有内置对象中都存在属性prototype
2:在js的内置对象的原型属性中追加方法,那么该方法会自动追加到内置对象中(也就是说具有可继承性)
3:js的原型属性最终的目的是给内置对象追加方法
4:原型对象定义实例对象的公共的属性和方法
七:对象成员的访问规则
1:当访问一个对象的属性和方法时,首先查找这个对象自身有没有该属性。
2:如果没有就查找它的原型(也就是_proto_指向的prototype原型对象)。
3:以此类推一直找到Object为止(null)。
4:_proto_对象原型的意义就在于为对象成员查找机制提供一个方法,或者一条路线。
八:简单方式访问原型对象
constuctor:person