Javascript 功能编程:在Chrome中打印到JS控制台
我正在Google Chrome中实现从雄辩的Javascript到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);
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)顺便问一下,code>或诸如此类。有没有其他方法可以不使用警报(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));