实例为函数的JavaScript构造函数
我知道这可能是一个奇怪的问题,可能没有实际的应用程序,但是有可能创建一个JavaScript类来构造作为函数的实例吗?我的意思是:实例为函数的JavaScript构造函数,javascript,function,constructor,challenge-response,Javascript,Function,Constructor,Challenge Response,我知道这可能是一个奇怪的问题,可能没有实际的应用程序,但是有可能创建一个JavaScript类来构造作为函数的实例吗?我的意思是: function Factory() {} // this may not be necessary, but I'll include it for sake of clarification Factory.prototype = Object.create(Function.prototype); var method = new Factory();
function Factory() {}
// this may not be necessary, but I'll include it for sake of clarification
Factory.prototype = Object.create(Function.prototype);
var method = new Factory();
method(); // Objective: should not throw TypeError
为进一步澄清目标:
应该可以作为函数调用方法
应该是调用构造函数的结果(例如,在这种情况下,method
)var method=new Factory()
- 构造函数不能是
函数
- 如果我理解正确。对象构造函数需要返回他的方法。然后你可以像你描述的那样称呼它
function Factory() {
return this.method;
}
Factory.prototype.method = function() {
console.log('from method');
};
var method = new Factory();
method();
如果我理解正确的话。对象构造函数需要返回他的方法。然后你可以像你描述的那样称呼它
function Factory() {
return this.method;
}
Factory.prototype.method = function() {
console.log('from method');
};
var method = new Factory();
method();
如果我理解正确的话。对象构造函数需要返回他的方法。然后你可以像你描述的那样称呼它
function Factory() {
return this.method;
}
Factory.prototype.method = function() {
console.log('from method');
};
var method = new Factory();
method();
如果我理解正确的话。对象构造函数需要返回他的方法。然后你可以像你描述的那样称呼它
function Factory() {
return this.method;
}
Factory.prototype.method = function() {
console.log('from method');
};
var method = new Factory();
method();
您想解决什么问题?您发布了一些带有未知应用程序的代码。我们没有上下文来评估它,也不知道还有什么建议。另外,也有点难以说出你的问题是什么。@jfriend00这只是一个基本上没有上下文的挑战。我只是好奇是否有可能在JavaScript中实现这一点,我认为答案可能会揭示出各种JavaScript结构的一些有用的特性,从而使类似的行为成为可能。那么,通过“是否可能”,你的意思是它不会产生错误吗?您没有描述希望输出是什么,因此很难评估未知结果是否可能。对不起,我不知道如何回答一个问题“是否可能”,当“它”根本没有被描述的时候。事实上,现在我甚至不知道问题是什么。@jfriend00本质上,目标是使
方法
能够作为函数调用,并将其作为调用不是函数
的构造函数的结果。您试图解决的问题可能重复?您发布了一些带有未知应用程序的代码。我们没有上下文来评估它,也不知道还有什么建议。另外,也有点难以说出你的问题是什么。@jfriend00这只是一个基本上没有上下文的挑战。我只是好奇是否有可能在JavaScript中实现这一点,我认为答案可能会揭示出各种JavaScript结构的一些有用的特性,从而使类似的行为成为可能。那么,通过“是否可能”,你的意思是它不会产生错误吗?您没有描述希望输出是什么,因此很难评估未知结果是否可能。对不起,我不知道如何回答一个问题“是否可能”,当“它”根本没有被描述的时候。事实上,现在我甚至不知道问题是什么。@jfriend00本质上,目标是使方法
能够作为函数调用,并将其作为调用不是函数
的构造函数的结果。您试图解决的问题可能重复?您发布了一些带有未知应用程序的代码。我们没有上下文来评估它,也不知道还有什么建议。另外,也有点难以说出你的问题是什么。@jfriend00这只是一个基本上没有上下文的挑战。我只是好奇是否有可能在JavaScript中实现这一点,我认为答案可能会揭示出各种JavaScript结构的一些有用的特性,从而使类似的行为成为可能。那么,通过“是否可能”,你的意思是它不会产生错误吗?您没有描述希望输出是什么,因此很难评估未知结果是否可能。对不起,我不知道如何回答一个问题“是否可能”,当“它”根本没有被描述的时候。事实上,现在我甚至不知道问题是什么。@jfriend00本质上,目标是使方法
能够作为函数调用,并将其作为调用不是函数
的构造函数的结果。您试图解决的问题可能重复?您发布了一些带有未知应用程序的代码。我们没有上下文来评估它,也不知道还有什么建议。另外,也有点难以说出你的问题是什么。@jfriend00这只是一个基本上没有上下文的挑战。我只是好奇是否有可能在JavaScript中实现这一点,我认为答案可能会揭示出各种JavaScript结构的一些有用的特性,从而使类似的行为成为可能。那么,通过“是否可能”,你的意思是它不会产生错误吗?您没有描述希望输出是什么,因此很难评估未知结果是否可能。对不起,我不知道如何回答一个问题“是否可能”,当“它”根本没有被描述的时候。事实上,现在我甚至不知道问题是什么。@jfriend00本质上,目标是使方法
能够作为函数调用,并作为调用不是函数
的构造函数的结果。等待的可能重复,因此可以从构造函数返回值?我不知道这是可能的。是的,你可以归还你需要的任何东西。基本上,它仍然是函数。我认为如果您将任何函数作为构造函数调用(即使用new
关键字),则该函数不允许返回值,否则它将抛出错误。我很惊讶这是允许的。@PatrickRoberts-如果你从一个用new
调用的构造函数中返回一些东西,那么通过new
创建的对象就不会返回,如果没有在构造函数中的其他地方赋值,就会被垃圾收集。我想我学到了一些新东西。谢谢你的见解。等等,你能从构造函数返回一个值吗?我不知道