码迷,mamicode.com
首页 > Web开发 > 详细

你不知道的js-混合对象-类

时间:2018-01-03 00:41:54      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:引用   一个   软件设计   软件   修改   设计   父类   div   共享   

1、类是一种设计模式,许多语言提供了对于面向类软件设计的原生语法,js中也有类似的语法,但是和其他语言中的类完全不同。

2、类意味着复制

3、js并不会像类那样自动创建对象的副本。

4、在继承或者实例化时,js的对象机制并不会自动执行复制行为,简单来说,js中只有对象,并不存在可以被实例化的类。一个对象并不会被复制到其他对象,他们会被关联起来。

5、混入模式(无论显事还是隐式)可以用来模拟类的复制行为,但是通常会产生丑陋并且脆弱的语法,比如显式伪多态,这会让代码更加难懂并且难以维护。

显式混入其实没有办法模拟类的复制行为,因为对象只能复制引用,无法复制被引用的对象或者函数本身。如果你修改了共享的函数对象,比如添加了一个属性,父类和子类都会受到影响。

6、总的来说,在js中模拟类是得不偿失的,虽然能解决当前的问题,但会有更多隐患

 

你不知道的js-混合对象-类

标签:引用   一个   软件设计   软件   修改   设计   父类   div   共享   

原文地址:https://www.cnblogs.com/lu-yangstudent/p/8039877.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!