Rumah > Soal Jawab > teks badan
请点击这里
这个模块只暴露了一个接口create
(工厂函数)。当时设计接口的时候没有考虑太多,直接参照了一个类似的模块。
现在回过头来思考一下,返回构造函数IDCardOCR
似乎也可以。
不过好像还是有区别:构造函数可以访问到原型链上的方法,而工厂函数不行。
那么,如果返回构造函数会不会有什么不好的后果?又有什么其他区别?
谢谢。
PHP中文网2017-04-10 15:34:53
你确定你说的“区别”是对的?
你的 create
访问就是调用构造器 new 了一个实例,因此其返回结果当然也可以访问到原型链上的方法,何来不行?
返回构造函数并不会有什么“不好”的后果,后果好坏取决于使用的人,不返回构造函数的一个小优点是避免使用者忘记 new,因为 javascript 没有静态检查,有时候忘记了 new 会导致出乎意料的后果。然而这也就是一个习惯问题罢了。