Javascript 如何将函数连成一个句子
所以我必须写一个程序,它可以像这样运行: 名称(“亚当”).place(“电影院”).movie(“xxx”)预期输出应该是这样的:亚当去电影院看一部名为xxx的电影,我到目前为止所拥有的: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
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()
的情况下加入了另一个选项,但它仍然有一个限制。