如何使用javaScript中的原型在函数内部创建函数

如何使用javaScript中的原型在函数内部创建函数,javascript,jquery,Javascript,Jquery,我只想在函数中创建函数,函数可以按以下格式访问(如jquery中的格式): mainFunction().childFunction() 我认为这可以通过原型实现,但我不确定如何实现。谢谢 main函数需要返回具有childFunction()的内容。点仅访问返回值上的属性。例如: function main函数(){ console.log('mainCalled') 返回{ childFunction(){ log(“childCalled”) 还这个 }, someOtherFuncti

我只想在函数中创建函数,函数可以按以下格式访问(如jquery中的格式):
mainFunction().childFunction()

我认为这可以通过原型实现,但我不确定如何实现。谢谢

main函数
需要返回具有
childFunction()
的内容。点仅访问返回值上的属性。例如:

function main函数(){
console.log('mainCalled')
返回{
childFunction(){
log(“childCalled”)
还这个
},
someOtherFunction(){
log(“另一个被称为”)
还这个
}
}
}
mainFunction().childFunction()
mainFunction().someOtherFunction()

mainFunction().childFunction().someOtherFunction()
可链接函数只需知道其定义上下文即可链接。我一定不同意这个被认可的答案。如果您需要链接多个函数,并且每个函数必须返回一个包含多个方法的作用域,并且这些方法也需要可链接,那么您将得到一段非常难阅读的代码或所谓的意大利面代码

因此,一个简单的解决方案是,所有定义为可链接的函数共享定义的范围,然后每个函数返回定义或范围的上下文。定义的上下文可以是任何内容,从
窗口
本身到对象甚至函数

var context = this;

function foo() {
   // some code execution
   return context;
}

function bar() {
    // some code execution
    return context;
}

function baz() {
    // some code execution
    return context;
}

// chained together 
foo().bar().baz();
结果是一样的,但是使用这种方法,您将得到更干净、更可维护的代码


希望不同的观点也能有所帮助。

您突出显示的行可能只是一个返回对象的函数,该对象上有一个键
childFunction
,这是一个函数。可能重复学习一些教程。Stackoverflow不是教程服务。网络上充满了学习资源。请看,实际上我正在尝试类似于
funOne().funTwo()
的东西,而不是
objectOne.functionOne()
。就像在jQuery
$(“选择器”).ready()
中一样。谢谢。问题是,第二个函数是从对象调用的,即该对象存在于函数之外,或者是从函数和调用链返回的,您正在调用某个对象的第二个函数。它的来源是一个较小的细节。谢谢,它帮助了很多,但这只适用于一个函数。例如,我想在
mainFunction()
中有多个函数,就像我想
mainFunction().one();main函数().two()
和upto
mainFunction().n()
我能做什么。从mainFunction返回的对象需要包含任何方法,以便能够调用对mainFunction调用的链接。由于我是学生,我无法理解你想说的话,请给出代码块,然后我就可以理解了,感谢您的关注。@Taplar是正确的-对象只需要更多属性,例如,请参阅更新的代码。如果您查看答案,该方法将返回
{childFunction(){}
,这将有效地创建
{childFunction:function(){}
这是一个具有单个键
childFunction
的对象,该键具有可调用函数的值。如果您想要更多的函数可用,就像任何其他javascript对象一样,您可以通过用逗号分隔来添加额外的键值对<代码>{thing1:value1,thing2:value2}
本例中的值是函数定义。