通过工厂的方式来创建Person对象,在createPerson中创建一个对象,然后为这个对象设置相应的属性和方法,之后返回这个对象。
function createPerson(name, age){ var obj = new Object(); obj.name = name; obj.age = age; obj.say = function(){ alert(this.name+","+this.age); } return obj; } var p1 = createPerson("Leon",22); var p2 = createPerson("Ada",33); p1.say(); p2.say(); alert(typeof p1); //object alert(p1 instanceof Object); //true
使用工厂的方式,虽然有效的解决了类的问题,但是依然存在另外一个问题:我们无法检测对象p1和p2的数据类型,
通过typeof仅仅只能检测出object类型,如果希望使用instanceof来检测的话,无法确定检测的类型。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步