2015-04-04 117 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 
}