首页 > 代码库 > 面向对象之工厂模式和构造函数模式
面向对象之工厂模式和构造函数模式
工厂模式:用函数来封装,以特定接口来创建对象的细节。
创建的对象是Object类型
function person(name, age , job){ var o =new Object() ; o.name = name; o.age = age ; o.job = job ; o.sayName = function(){ alert(this.name); }; return o ; var person1 = new person("cancan",21,"student"); var person2 = new person("xiaoma",45,"teacher");
console.log(person1 instanceof person); // false
console.log(person1 instanceof Object);//true
console.log(person instanceof person); //true
构造函数模式:构造函数可以创建特定类型的对象,自定义对象的属性和方法
function person(name,age,job){ this.name = name ; this.age = age ; this.job = job ; this.sayName = function(){ alert(this.name); }; } var person1 = new person("cancan",21,"student"); var person2 =new person("xiaoma",45,"teacher");
console.log(person1 instanceof person); // true
console.log(person instanceof Object); // true
构造函数与工厂函数之间不同:
1.工厂函数针对的都是Object的对象模型,而构造函数可以匹配自定义的对象模型(如上例)
2.工厂函数创建对象,以及要有有返回值,构造函数不需要,但他们均继承于Object
面向对象之工厂模式和构造函数模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。