Javascript 嵌套函数不起作用

Javascript nested function is not worked

我不明白为什么这个功能不起作用,我传入了 foreach 方法。

 var methods = {
            foreach: function(f){
                for(var i = 0; i <= this.x; i++){
                    f(i);
                }
            }
        };
        function test(x) {
           var t = Object.create(methods);
           t.x = x;
           return t;
        };
        var t = test(10);
        console.log(t.x); //10
        t.foreach(console.log()); //Uncaught TypeError: undefined is not a function

谢谢!

您正在传递 调用 console.log() 的 return 值 ,这不是函数。

您需要传递一个实际的函数。

由于 log 仅适用于 console 的上下文,因此您不能只传递 console.log 但您可以,例如:

 t.foreach(function (logthis) { console.log(logthis); });