目标
1.面向对象思想--10%理解
2.原型,原型链--65%,5分钟内手绘原型图
3.this指向--25%,能够分析清楚
1.面向对象与面向过程
面向对象与面向过程是两种编程的思想
1.面向过程(POP):按照流程步骤,一步一步的走,实现功能,每一步都是亲力亲为的
2.面向对象(OOP):从全局出发,把功能都封装在对象中,然后要做什么找什么对象,调用对象的方法
2.类和构造函数的关系
undefined和null没有构造函数(constructor)
在ES5中,类==构造函数
类==class,构造函数==constructor
3.自己写构造函数&new的过程
在js中,构造函数可以成为类
js内置的构造函数:Number,String ,...,Error,Math,Date
他们的作用:造出各种类型的数据,造:new--实例对象
1.构造函数的特点:
1.首字母大写
2.属性和方法都挂在this上
3.没有返回值
4.使用new调用
2.new的过程发生了什么:
1.创建一个空的对象
2.让this指向空对象
3.执行构造函数里的代码
4.自动返回this
4.原型与原型链
1.原型
1.每个构造函数都有一个属性,prototype(显示原型),他的值是一个对象,只要往这个对象上添加方法,这些方法都会被new出来的实例对象共享
2.实例对象都有一个属性__proto__(隐式原型),指向的是构造函数的显示原型
3.原型对象里面,有一个属性constructor,指向构造函数本身
2.原型链
1.显示原型prototype本身压实一个实例对象,也有自己的构造函数,他的构造函数是Object,显示原型prototype有属性__proto__,指向他的构造函数object的显示原型prototype
2.object的prototype也是实例化对象,也有__proto__,指向null
3.object的prototype上有一个属性constructor,指向构造函数本身
3.原型与原型链的作用
1.原型的作用:添加共享方法
2.原型链的作用:实例对象查找方法,先找自己,自己没有,就沿着原型链找,找到就可以使用,一直找到object为止,找不到就报错
|