84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
请点击这里这个模块只暴露了一个接口create(工厂函数)。当时设计接口的时候没有考虑太多,直接参照了一个类似的模块。现在回过头来思考一下,返回构造函数IDCardOCR似乎也可以。
create
IDCardOCR
不过好像还是有区别:构造函数可以访问到原型链上的方法,而工厂函数不行。那么,如果返回构造函数会不会有什么不好的后果?又有什么其他区别?谢谢。
认证0级讲师
你确定你说的“区别”是对的?
你的create访问就是调用构造器 new 了一个实例,因此其返回结果当然也可以访问到原型链上的方法,何来不行?
返回构造函数并不会有什么“不好”的后果,后果好坏取决于使用的人,不返回构造函数的一个小优点是避免使用者忘记 new,因为 javascript 没有静态检查,有时候忘记了 new 会导致出乎意料的后果。然而这也就是一个习惯问题罢了。
你确定你说的“区别”是对的?
你的
create
访问就是调用构造器 new 了一个实例,因此其返回结果当然也可以访问到原型链上的方法,何来不行?返回构造函数并不会有什么“不好”的后果,后果好坏取决于使用的人,不返回构造函数的一个小优点是避免使用者忘记 new,因为 javascript 没有静态检查,有时候忘记了 new 会导致出乎意料的后果。然而这也就是一个习惯问题罢了。