Javascript 功能编程:在Chrome中打印到JS控制台

Javascript 功能编程:在Chrome中打印到JS控制台,javascript,functional-programming,Javascript,Functional Programming,我正在Google Chrome中实现从雄辩的Javascript到JS控制台的函数式编程。有一个函数循环数组中的每个元素,并在该元素的初始参数中执行给定的操作 function forEach(array, action) { for (var i = 0; i < array.length; i++) action(array[i]); } forEach(["Wampeter", "Foma", "Granfalloon"], console.log);

我正在Google Chrome中实现从雄辩的Javascript到JS控制台的函数式编程。有一个函数循环数组中的每个元素,并在该元素的初始参数中执行给定的操作

function forEach(array, action) {
    for (var i = 0; i < array.length; i++)
       action(array[i]);
}   

forEach(["Wampeter", "Foma", "Granfalloon"], console.log);

有没有一种方法可以在我的js控制台上打印出来,或者我应该使用其他方法来编译代码?

这应该适合您

function forEach(array, action) {
    for (var i = 0; i < array.length; i++)
       action(array[i]);
}   

forEach(["Wampeter", "Foma", "Granfalloon"], function(x) {console.log(x);});
函数forEach(数组、动作){
对于(var i=0;i
由于某些原因,Chrome的console.log似乎不能作为回调函数使用

尽管如此,这段代码似乎是有效的:
for(在[“a”、“b”、“c”]中的项)console.log(项)
a=[“a”、“b”、“c”];对于(i=0;i


无论如何,我不建议使用JS控制台,但这取决于您。

当您将其传递给
forEach
时,函数正在丢失对其
值(
控制台
对象)的引用。以下方面应起作用:

function forEach(array, action) {
    for (var i = 0; i < array.length; i++)
       action(array[i]);
}   

forEach(["Wampeter", "Foma", "Granfalloon"], console.log.bind(console));
函数forEach(数组、动作){
对于(var i=0;i


对于不支持
bind
的浏览器,您可以使用Vonnegut风扇的可能的+1副本上提供的垫片。哦,您只需执行
[“Wampeter”、“Foma”、“Grandfallon”]。forEach(somefunction)或诸如此类。有没有其他方法可以不使用
警报(val)
,而编译代码?@code:这对
somefunction==console.log
也不起作用。您需要使用
[“Wampeter”、“Foma”、“granfolon”].forEach(console.log,console)
Ahh,这就是原因。对,我的观点不是说它是这个问题的解决方案,只是当你得到一个数组时,没有必要制作你自己的forEach(数组,回调)。forEach(回调)是由JS提供的。有没有一个浏览器不支持
bind
而是
console.log
function forEach(array, action) {
    for (var i = 0; i < array.length; i++)
       action(array[i]);
}   

forEach(["Wampeter", "Foma", "Granfalloon"], console.log.bind(console));