完成函数 createModule,调用之后满足如下要求:
1、返回一个对象
2、对象的 greeting 属性值等于 str1, name 属性值等于 str2
3、对象存在一个 sayIt 方法,该方法返回的字符串为 greeting属性值 + ', ' + name属性值
解决:
1、字面量模式
function createModule(str1, str2) {
var obj = {
greeting: str1,
name: str2,
sayIt: function () {return this.greeting + ', ' + this.name;}
};
return obj;
}
2、工厂模式(创建对象模式)
function createModule(str1, str2) {
var obj = new Object();
obj.greeting = str1;
obj.name = str2;
obj.sayIt = function () {
return this.greeting + ', ' + this.name;
}
return obj;
}
3、构造函数模式
function createModule(str1, str2) {
function obj() {
this.greeting = str1;
this.name = str2;
this.sayIt = function () {
return this.greeting + ', ' + this.name;
}
}
return new obj();
}
4、原型模式
function createModule(str1, str2) {
function obj() {
}
obj.prototype.greeting = str1;
obj.prototype.name = str2;
obj.prototype.sayIt = function () {
return this.greeting + ', ' + this.name;
}
return new obj();
}