首页 > 试题广场 >

模块

[编程题]模块
  • 热度指数:95092 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
完成函数 createModule,调用之后满足如下要求:
1、返回一个对象
2、对象的 greeting 属性值等于 str1, name 属性值等于 str2
3、对象存在一个 sayIt 方法,该方法返回的字符串为 greeting属性值 + ', ' + name属性值
推荐
声明对象有两种常见的方式:var obj = {};和var obj = new Object();。前面一种可以直接在括号中以key:value的方式定义属性,后一种采用点运算符给对象添加属性。
function createModule(str1, str2) {
     var obj = {
         greeting : str1,
         name     : str2,
         sayIt    : function(){
             //两个属性前面都需要加上this
             return this.greeting+", "+this.name;
         }
     };
     return obj;
 }

编辑于 2015-12-04 19:42:03 回复(18)
function createModule(str1, str2) {
  const ret = {
    name: str2,
    greeting: str1,
    sayIt() {
      return this.greeting + ', ' + this.name
    }
  }
  return ret
}
发表于 2023-06-29 10:26:49 回复(0)
function createModule(str1, str2) {
   let obj ={
   greeting:str1,
   name:str2,
   sayIt(){
       return this.greeting + ', ' + this.name
   } 
  }
  return obj
}
发表于 2023-05-11 09:33:03 回复(0)
function createModule(str1, str2) {
    class person {
        constructor(str1, str2) {
            this.greeting = str1
            this.name = str2
        }
        sayIt() {
            return this.greeting + ', ' + this.name
        }
    }
    const p = new person(str1, str2)
    return p 
}
发表于 2023-04-19 16:37:00 回复(0)
为啥是较难,,,,
发表于 2023-04-03 16:30:09 回复(0)
function createModule(str1, str2) {
 return{
       greeting:str1,
       name:str2,
       sayIt:function(){
         return this.greeting+', '+this.name
       }

     }
}
发表于 2023-03-22 11:48:05 回复(0)
空格
function createModule(str1, str2) {
    return {
        greeting:str1,
        name:str2,
        sayIt() {
            return this.greeting+', '+this.name
        }
    }
}

发表于 2023-01-31 11:29:00 回复(0)
神  逗号后面有个空格  难怪一直说  格式错误

发表于 2023-01-24 23:30:23 回复(0)
   return {
        greeting: str1,
        name: str2,
        sayIt () {
          return this.greeting + ', ' + this.name
        }
      }

发表于 2022-12-06 17:52:55 回复(0)
简洁明了
function createModule(str1, str2) {
     return {
           greeting:str1,
           name:str2,
           sayIt:function(){
              return this.greeting + ', ' + this.name
          }
     }
}
发表于 2022-11-15 22:00:44 回复(0)
看到这难度和通过率我迷茫了
function createModule(str1, str2) {
    var obj = {}
    obj.greeting = str1
    obj.name = str2
    obj.sayIt = function(){
        return this.greeting + ', ' + this.name
    }
    return obj
}

发表于 2022-11-13 00:42:16 回复(0)
这个函数是sayIt,这是爱不是凹
发表于 2022-11-01 20:04:37 回复(0)
可以采用ES6的类的新语法,也就是构造函数的语法糖
function createModule(str1, str2) {
    class obj{
        constructor(str1,str2){
            this.greeting = str1;
            this.name = str2;
        }
        sayIt(){
            return this.greeting+', '+this.name
        }
    }
    return new obj(str1, str2);
}


发表于 2022-10-06 16:15:21 回复(0)
function createModule(str1, str2) {
     let obj = { greeting: str1, name: str2};
    obj.sayIt = (function(){
        return `${this.greeting}, ${this.name}`;
    }).bind(obj); 
    return obj; 
}

发表于 2022-09-24 20:04:41 回复(0)
function createModule(str1, str2) {
    return {
        greeting:str1,
        name:str2,
        sayIt(){
            return this.greeting+', '+this.name;
        }
    }
}
发表于 2022-09-09 10:05:06 回复(0)
function createModule(str1, str2) {
    return {
        greeting: str1,
        name: str2,
        sayIt() {
            return this.greeting + ', ' + this.name
        }
    }
}
为啥这个是“较难”?😳
发表于 2022-07-31 21:09:55 回复(0)
function createModule(str1, str2) {
    /*完成函数 createModule,调用之后满足如下要求:
        1、返回一个对象
        2、对象的 greeting 属性值等于 str1, name 属性值等于 str2
        3、对象存在一个 sayIt 方法,该方法返回的字符串为 greeting属性值 + ', ' + name属性值*/
    
    //字面量声明对象:创建对象的时候添加功能。注意:键值对之间用逗号','连接
    /* */
    var obj={
        greeting:str1,
        name:str2,
        sayIt:function(){
            return this.greeting+', '+this.name;
        }
    };
    return obj; 
    //也可,先声明一个空对象
   var obj={};
    obj.greeting=str1;
    obj.name=str2;
    obj.sayIt()=function(){
        return this.greeting+', '+this.name;
    };
    return obj; /**/
    
    /*用构造函数声明对象*/
    var obj=new Object();
    obj.greeting=str1;
    obj.name=str2;
    obj.sayIt=function(){
        return this.greeting+', '+this.name;
    };
    return obj;
}

发表于 2022-07-10 09:08:59 回复(0)
function createModule(str1, str2) {
    return {
       greeting: str1,
       name: str2,
       sayIt(){ return this.greeting + ', ' + this.name } 
    }
}

发表于 2022-07-07 16:49:37 回复(0)
这个题感觉比哪些函数题 还可以呀
发表于 2022-04-20 20:29:39 回复(0)
这个空格我真的是服了
发表于 2022-03-22 21:26:05 回复(0)
function createModule(str1, str2) {
    return {
        greeting: str1,
        name: str2,
        sayIt: function(){
            return this.greeting + ', ' + this.name
        }
    }
}
发表于 2022-02-18 15:56:47 回复(0)

问题信息

难度:
34条回答 17376浏览

热门推荐

通过挑战的用户

查看代码