我不明白为什么这个功能不起作用,我把它传递给了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
THX!
答案 0 :(得分:1)
您正在传递调用console.log()
的返回值,这不是一个函数。
您需要传递实际功能。
由于log
仅适用于console
的上下文,您不能只传递console.log
,但您可以,例如:
t.foreach(function (logthis) { console.log(logthis); });