我确实在JS中编写了一些代码。它是函数表达式的一种。我试图弄清楚为什么这个输出在这两行(A和B)之间跳跃并且仍然无法得到它。
这里是我的代码
Array.prototype.myForEach = function(func){
for(var i = 0; i < this.length; i++) {
console.log("--------");
func("1 "+ this[i]+" 2"); //A line
}
};
var colors = ["red", "orange", "yellow", "green", "blue", "PURPLE"];
colors.myForEach(function(color){
console.log("3 "+color+" 4"); //B line
});
&#13;
输出结果:
--------
3 1 red 2 4
-------
3 1 orange 2 4
-------
3 1 yellow 2 4
-------
3 1 green 2 4
-------
3 1 blue 2 4
-------
3 1 PURPLE 2 4
答案 0 :(得分:5)
你只需调用两个嵌套函数,其中每个函数都用一些数字包装值。
function a(v) { // function call before callback call
return '1 ' + v + ' 2';
}
function b(v) { // callback
return '3 ' + v + ' 4';
}
console.log(b(a('#')));