Javascript is executing this code instantly, however, I need it to wait 2 milliseconds before executing it, as scripted in setTimeout(doIt(i),2000); 
Why?
<script type="text/javascript">
    var colors= ["red","pink","green"];
    function doIt(i){
        i++
        console.log(i);
        console.log("didIt");
        $('body').append("<style>body{background:"+i+";}</style>");
        if(i==2){
        }
        else{
            test(i);
        }
    }
    function test(i){
        setTimeout(doIt(i),2000);
    }
    test(0);
</script>
 
     
    