Javascript 如何将函数连成一个句子

Javascript 如何将函数连成一个句子,javascript,html,Javascript,Html,所以我必须写一个程序,它可以像这样运行: 名称(“亚当”).place(“电影院”).movie(“xxx”)预期输出应该是这样的:亚当去电影院看一部名为xxx的电影,我到目前为止所拥有的: var test = function(name){ var self = {}; console.log(name) function someFunc(where) { console.log("goes to cine

所以我必须写一个程序,它可以像这样运行: 名称(“亚当”).place(“电影院”).movie(“xxx”)预期输出应该是这样的:亚当去电影院看一部名为xxx的电影,我到目前为止所拥有的:

    var test = function(name){

        var self = {};
        console.log(name)

        function someFunc(where) {
            console.log("goes to cinema" + where)
            return self;
        }

        function someOtherFunc(what) {
            console.log("to watch movie" + what)
            return self;
        }   

        self.someFunc = someFunc;
        self.someOtherFunc = someOtherFunc;
        return self;

    }
 console.log(test("Adam").someFunc("cinema").someOtherFunc("xxx"));

但是它给了我不同行的字符串,我想用一句话来表达,任何帮助都将不胜感激。

假设您需要函数按该顺序执行,并生成一个顺序不变的句子,您可以执行以下操作:

var test = function(name){
  var self = {
    message: name,
  };

  function someFunc(where) {
      self.message += " goes to cinema" + where;
      return self;
  }

  function someOtherFunc(what) {
      self.message += " to watch movie" + what;
      console.log(self.message);
  }   

  self.someFunc = someFunc;
  self.someOtherFunc = someOtherFunc;
  return self;
}

console.log(test("Adam").someFunc("cinema").someOtherFunc("xxx"));

您可以这样做:

var测试=功能(消息){
this.someFunc=函数(其中){
message+=`转到${where}`;
返回此;//允许链接
}
this.someOtherFunc=函数(什么){
message+=`观看电影${what}`;
返回此;//允许链接
}
this.value=函数(){
返回消息;//结束链
}
返回此;//开始链
}
log(test(“Adam”).someFunc(“电影院”).someOtherFunc(“xxx”).value());

//每次你调用console.log()时,Adam都会去电影院看电影xxx。在
someFunc
someOtherFunc
中,它会以不同的行打印出来。是的,我想出来了,但我应该把它放在哪里,才能在一行中得到结果,谢谢!这将返回句子和未定义的
。如果同时删除其中一个函数,它将不起作用,因为您将在
someOtherFunc
之前返回一个对象。因此,“并生成一个顺序不变的句子。”提问者问如何准确地生成该句子,这就是我给他的答案。我不知道他想要它做什么。不过,我们非常欢迎您提供更好的答案!如果不使用.value(),是否有可能获得该结果?我在没有使用
.value()
的情况下加入了另一个选项,但它仍然有一个限制。