写出一个构造函数,使它的实例对象完全相等,例如:function Parent(){ };var p1 = new Parent();var p2 = new Parent();p1===p2; // true请问这个Parent构造函数应该怎么写???
1 回答
已采纳
pardon110
TA贡献1038条经验 获得超227个赞
在多数编程语言中,new操作通常被设计成获取新的实例对象,即得到一个副本。换而言之,原则上同一被new对象,其得到的实例本质上是不相等,才合乎规范,而new存在的意义就在于此。当然,在某些场景下(比如为了节省系统资源减少内存占用),需要实例对象相等,会有不同的处理技巧。就js而言,问题本质是构造一个“单例", 基本思想是缓存首次构造实例对象。最简单的示例如下
var Single=(function () { var _instance = null return function () { if(_instance===null){ _instance=this } return _instance } })() var p1 = new Single() var p2 = new Single() console.log(p1===p2) // true
添加回答
举报
0/150
提交
取消