javascript函数嵌套时arguments的问题

疑问:

var funtest = function () {
                var fun = function (val, val2) {
                    alert(arguments.length); //此处答案? 有些人回答是2,但是正确是 0 
                };
                setTimeout(fun, 20);
            };
            funtest();