原型与原型链 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 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
|
|