一、今日学习内容
01.面向对象与面向过程
面向对象与面向过程是两种编程的思想
1.面向过程(POP):按照流程步骤,一步一步地走,实现功能,每一步都是亲力亲为
优点:对细节把控清晰
缺点:不适合大型项目
2.面向对象(OOP):从全局出发,把功能都封装在对象中,然后要做什么找什么对象,调用对象的方法
优点:适合大型项目
缺点:对细节把控不清晰
02.类和构造函数的关系
在ES5中 类===构造函数
类class 构造函数constructor
03.自己写构造函数&new的过程
概念:在js中,构造函数可以称为类
js内置的构造函数:Number、String...Error、Math、Date
他们的作用:造出各种类型的数据。造:new---实例对象
3.1 构造函数的特点
1.首字母大写
2.属性和方法都挂在this上
3.没有返回值
4.使用new调用
3.2new的过程发生了什么
1.创建一个空的对象
2.让this指向空对象
3.执行构造函数里面的代码
4.自动返回this
4.原型与原型链
4.1原型
[[prototype]] __proto__ 隐式原型
prototype:显示原型
constructor:构造函数
1.每个构造函数都有一个属性,prototype(显示原型),他的值是一个对象,只要往这个对象上添加方法,这些方法都会被new出来的实例对象所共享
2.实例对象都有一个属性——__proto__(隐式原型),指向的是构造函数的显示原型
3.原型对象里面,有一个属性constructor,指向构造函数自己本身
4.2 原型链
1.显示原型prototype本身也是一个实例对象,也有自己的构造函数,他的构造函数是Object,显示原型prototype有属性`__proto__`,指向他的构造函数---Object的显示原型prototype
2.Object的prototype也是实例对象,也有`__proto__`,指向null
3.Object的prototype上也有一个constructor属性,指向构造函数自己本身
4.3原型与原型链的作用
原型的作用:添加共享方法
原型链的作用:实例对象查找方法,先找自己,自己没有,就沿着原型链找,找到就可以使用,一直找到Object为止,找不到就报错
二、今日问题
无
|