工厂模式:
function personfactory(username, password) {
var person = new object();
person.username = username;
person.password = password;
return person;
}
var person = personfactory("luohao", "123456");
console.log(person.username);
console.log(person.password);
寄生构造模式
function myarray() {
var cities = new array();
cities.push.apply(cities, arguments);
cities.tomystring = function() {
return this.join('|');
}
return cities;
}
var cities = myarray("西安", "武汉", "南京");
console.log(cities.tomystring());
工厂模式和寄生构造模式没有任何区别。
一般使用工厂模式创建简单的对象,使用寄生构造模式为不可以修改的对象添加方法。
无论是工厂模式还是寄生构造模式返回的对象都和声明的对象在类型上没有必然的关系。
因此不能使用instanceof 去判断一个寄生构造模式返回的对象是不是就是寄生对象。
如对本文有疑问, 点击进行留言回复!!
Android 入门第七讲01-数据存储(数据存储概述,文件存储(raw和asserts目录读写,data/data/包名目录读写,sdcard目录读写),SharedPreferences读写)
vue-axios系列:axios拦截器,配置请求头,配置请求参数
Vuejs 针对 安卓低版本 、ios9.x 不兼容 ES6语法导致失效解决方法
网友评论