JQuery функция внутри функции - PullRequest
10 голосов
/ 22 июля 2011

Возможно ли иметь функцию внутри другой функции, как это?

function foo() {

    // do something

    function bar() {

        // do something

    }

    bar();

}

foo();

Ответы [ 3 ]

16 голосов
/ 22 июля 2011

Да, у тебя это может быть так. bar не будет виден никому снаружи foo.

И вы можете позвонить bar внутри foo как:

function foo() {

    // do something

    function bar() {

        // do something

    }
    bar();

}
5 голосов
/ 22 июля 2011

Да, вы можете.
Или вы можете сделать это,

function foo(){

    (function(){

        //do something here

    })()

}

Или это,

function foo(){

    var bar=function(){

        //do something here

    }

}

Или вы хотите, чтобы функция "bar" была универсальной,

function foo(){

    window.bar=function(){

        //something here

    }

}

Хоп, это поможет вам.

4 голосов
/ 22 июля 2011

Это называется вложенной функцией в Javascript.Внутренняя функция является частной по отношению к внешней функции, а также образует замыкание.Более подробная информация доступна здесь .

Однако будьте особенно внимательны к конфликтам имен переменных.Переменная во внешней функции видна внутренней функции, но не наоборот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...