js中面向对象

Posted on 2018-12-01 17:18  中二病也儒要戀愛  阅读(94)  评论(0编辑  收藏  举报

1、面向对象

  js封装会得到一个类,类会实例出子对象,子对象里有私有属性和公有属性,公有属性是可继承的;私有属性有就使用,如果会找公有属性,如果还没有就通过__proto__向上查找!

构造函数的最终目的是生成对象。

我们把封装的那个函数叫  类。

类里面的属性是私有的。

类原型上的属性是公有的,可继承的。 

1.类身上天生自带一个prototype的属性,属性是对象。

2.prototype对象天生有一个constructor属性,属性值就是类本身

3.实例天生有一个__proto__,指向你自己类的原型。

 

var  a  和 a 的区别?

 没有带var的变量就不你存放在内存地址中,就没有变量提升这种说法,相当于window加了一个属性window.a。

带var 可以存放在内存地址中,有变量提升,同时也相当于给window加了一个属性window.a