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