/*感觉没多大用记下得了*/
/*
* 基本思维:
* 创建一个函数,该函数的作用仅是封装创建对象的代码,然后返回新创建的对象。
* 表面上看很像构造函数
* */
function Person(name,age,job) {
var o = new Object();
o.name = name;
o.age = age;
o.job = job;
o.say = function () {
console.log(this.name);
};
return o;
}
var friend = new Person("A",20,"play");
friend.say();//A
var friend1 = new Person("B",20,"Doctor");
friend1.say();
//除了使用newe操作符并把使用的包装函数叫做构造函数外,这个模式跟工厂模式一摸一样。
//构造函数在不返回值的情况下,默认返回新对象实例而这个函数结尾有一个return语句,将重写调用构造函数返回的值。
//比如我们写一个类用来创建一个数组,这个类有一个方法可以将数组中的元素用"|"符号分开
function SpecialArray() {
var values = new Array();
values.push.apply(values,arguments);
values.toPipedString = function () {
return this.join("|");
};
return values;
}
var arr = new SpecialArray("A","B","C");
console.log(arr.toPipedString());