采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
假如我封装好一个对象A交给同事使用,但是同事不认真看代码,没有正确的使用 const a=new A( )a.name 而是直接使用 const a =A( )a.name 肯定就会报错。 我想直接把new A()仍出去该怎么做?
function Person(name) { if (!(this instanceof Person)) { throw TypeError('Person 不能作为普通函数调用'); } this.name = name; } // Person("Hello") new Person("Hello")
你的问题,不正是工厂模式解决的吗?
老师,这个问题不应该是,没有使用new实例,当做普通函数调用的问题吗 ? 工厂不应该是为了生产不同的产品吗?
首先,工厂是为了生产出产品。其次再是生产不同的产品。
嗯嗯,后来琢磨了下 。感觉 document.createElement( 'xxx' ) 这个API根据参数创建不同dom对象,这个应该算是工厂的最佳实践了吧 ?
登录后可查看更多问答,登录/注册
系统学习JS设计模式,增强设计思想,提高代码质量。
1.8k 13
1.1k 10
892 10
1.1k 9
1.3k 8