javascript函数in in function in variable

Jav*_*der 5 javascript

我有个疑问

我的代码: -

function f() { 
    var g = function() 
    { 
    return 1;
    } 
    return g; 
  };
Run Code Online (Sandbox Code Playgroud)

我怎么能打电话给g?我想一次又一次地回归我想要回归g.

我做了一项研究,我找到了解决方案

我们怎么称呼g是: -

f()();
Run Code Online (Sandbox Code Playgroud)

为什么这是?? 什么是f()();JavaScript.为什么我们不能用f.g它来实现这个目标.

如何从函数f ??返回g?

请澄清我的疑虑?

Jam*_*ice 11

如何从该功能返回g?

返回g从"那个功能",假定"功能"是f.由于f返回一个函数,您可以使用调用返回值f()().它几乎与此相同:

var returnedFunction = f();
returnedFunction();
Run Code Online (Sandbox Code Playgroud)

为什么我们不能用这种f.g东西来实现呢?

因为g不属于f.我不完全确定你的目标是什么,但也许你想f成为一个构造函数,并且它的实例有一个方法g

function f() {
    // Constructor function
}
f.prototype.g = function () {
    // Method
};
var myF = new f();
myF.g(); // Now `g` is accessible as a property of the instance
Run Code Online (Sandbox Code Playgroud)

您也可以打算g成为以下的静态属性f:

function f() {
    // JS has first-class functions so you can set properties on them
}
f.g = function () {
    // Static method of `f`
};
f.g();
Run Code Online (Sandbox Code Playgroud)