Javascript 函数内部的函数定义

Javascript 函数内部的函数定义,javascript,Javascript,如果我有代码: function A() { function B() { } B(); } A(); A(); 是否每次调用A时都会解析并创建B函数(这样会降低A的性能)?如果您只想在内部使用函数,闭包如何。这里有一个例子 var A = (function () { var publicFun = function () { console.log("I'm public"); } var privateFun2 = function () {

如果我有代码:

function A() {

  function B() {

  }

  B();

}

A();
A();

是否每次调用A时都会解析并创建B函数(这样会降低A的性能)?

如果您只想在内部使用函数,闭包如何。这里有一个例子

    var A = (function () {
    var publicFun = function () { console.log("I'm public"); }
    var privateFun2 = function () { console.log("I'm private"); }

    console.log("call from the inside");
    publicFun();
    privateFun2();

    return {
        publicFun: publicFun
    }
})();   

console.log("call from the outside");
A.publicFun();
A.privateFun(); //error, because this function unavailable

你为什么需要这个我会说是的,因为函数B只存在于函数A的范围内,为什么不把函数B放在A的外面,在A的里面调用B呢?Gintas K:我有函数,函数里面的一些代码块需要重用,但就在这个函数中,我想其他人已经问过同样的问题了:
function A(){

    function B(){

    }
    var F=function(){
        B();
     }
     return F;
}
var X=A();
//Now when u want to use this  just use this X function it will work without parsing B()