2015-04-04 121 views
2

我是javascript的初学者。请看我的代码。在javascript中为其他函数的参数使用匿名函数

function map(func, ary) 
{ var i =0; 
var array1 = ary; 
while(ary[i]!=NULL){ 
    array1[i] = func(ary[i]); 
    i++; 
} 
document.write('[' + array1[0] +',' +array1[1]+']'); //just for check result 
} 

map(function(x) {return (x*4)/2;},[1,3,5,7]); 

我想在javascript中操作“map(function(x) {return (x*4)/2;},[1,3,5,7]);”。

我该如何操作该代码?请帮助我详细。

回答

0

我不明白你真正想问什么。你的代码有效。
使用null,false,true而不是NULL FALSE TRUE。 并注意document.write()是显示结果的非常糟糕的方式。

更好的方法是:

  • 创建/ DIV获得,跨度,P或一些ELEM和使用它像这样:div.innerHTML = result;
  • console.log(result); //按F12打开Firebug /网络工具

// map function that returns result: 
function map(func, ary) { 
    var i = 0; 
    var result = []; // empty array for results 

    while(ary[i] != null){ 
     result[i] = func(ary[i]); 
     i++; 
    } 
    return result; // must return result 
} 

// objects {} and arrays[] are passed by reference to functions 
function map(func, ary) { 
    var i = 0; 
    while(ary[i] != null){ 
     ary[i] = func(ary[i]); // changing original `ary` 
     i++; 
    } 
// no need to return anything 
}