1. 程式人生 > >函式裡面的引數是函式

函式裡面的引數是函式

平常我們的函式裡是 引數都是變數,並且直接進行賦值操作,很簡單明瞭。
然而,今天看到函式裡的引數是函式就有點不習慣。

先貼程式碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>函式裡面套函式的操作</title>
<script>
    function Jmap(){
        var arr={};
        this.put= function (key,value) {
            arr[key]=value;
        }
        this.eachMap=function (fn) { //定義處把資料傳出去
            for(var key in arr) //知道資料
                fn(key,arr[key]);//呼叫傳進來的引數函式
        }
    }
    var country = new Jmap();
    country.put("a","美國"); // 一般情況下,把資料放進去
    country.put("b","英國");
    country.put("c","日本");
    country.put("d","泰國");
    country.eachMap(function (key,value) { //執行處利用變數進行欲處理
        document.write(key+"->"+value);
        });

</script>
</head>
<body>

</body>
</html>

這麼想,我要把一個函式放進去,等我有資料的時候,就可以執行我放進去的函式裡的執行步驟了,這不是很棒。
這種定義方法跟變數是一樣的道理,只是函式更加隨意一點,在放函式的時候就可以在不知道資料的情況下利用變數先進行相應的操作,然後在把該引數函式放進去,
我們在定義的時候,傳進來的引數是函式,這時候我們有確定的資料,我們不就可以呼叫傳進來的函數了嗎。