js面向对象(一)

版权声明:Amazing刘许许的博客 https://blog.csdn.net/asedasdad/article/details/82222300

      js面向对象:js是个弱类型语言,它是基于对象的语言 ,它能模拟出来面向对象的形式,不能说它能面向对象,从另一个角度说,说起面向对象,有三个特性,封装,继承,多态,但是js能实现封装,但是继承是类特有的,也就是说js能模拟出来。这个不能说js语言面向对象。

 创建对象的集中方法各有个的利弊:

1,用Object创建对象:(缺点:代码冗余,每次创建的时候都会再写一遍);

2,用工厂模式创建对象:(缺点:不能分辨出实例出来的对象是哪个类型的。)

3,用自定义构造函数创建对象:(缺点:会占内存,因为构造函数里面的函数每次实例的时候都会申请内存,造成内存浪费,因此用构造函数和原型对象一块创建对象。)

每个函数里面都有一个prototype这个属性,这个属性是指向这个函数的原型对象,这个原型对象是有那个构造函数new出来的对象时共享的,每个new出来的对象都有__proto__属相,它指向原型对象。

猜你喜欢

转载自blog.csdn.net/asedasdad/article/details/82222300