関数をネストする

javascriptでは関数の処理の中に関数を定義できる。

//円錐の体積を求める関数
function calcCone(radius,height){
    var dimension = calcCircle(radius);
    //底面の面積を求める関数
    function calcCircle(r){
        var circle = r*r*Math.PI;
        return circle;
    }
    return dimension * height /3;
}
alert(calcCone(10,10));

こんな感じで。
関数内で定義された関数は、関数内での処理からのみ呼び出せる。