У меня есть кусок кода для javascript, который я просто не понимаю:
function dmy(d) {
    function pad2(n) {
        return (n < 10) ? '0' + n : n;
    }
    return pad2(d.getUTCDate()) + '/' +
       pad2(d.getUTCMonth() + 1) + '/' +
       d.getUTCFullYear();
}
function outerFunc(base) {
    var punc = "!";
    //inner function
    function returnString(ext) {
       return base + ext + punc;
    }
    return returnString;
}
Как функция может быть определена в рамках другой функции? Можем ли мы называть pad2() вне функции my()?
Просветите его. Благодаря