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); });
我不明白为什么这个功能不起作用,我传入了 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); });