2014-01-22 2 views
0

Я создал функцию mapWith так:Функция вызывает ошибки

var mapWith=function(fn) 
{ 
    return funtion(list) 
    { 
    return Array.prototype.map.call(list,function(something){ 
      return fn.call(this,something); 
     }); 
    } 
}; 

Я использую его на функции и массив:

var insertLatLong=function(obj) 
{ 
    //inserts to db... 
} 
var inception_cities=[{lat:35.0117,lng:135.7683}, 
        {lat:48.8567,lng:2.3508}, 
        {lat:-4.0500,lng:39.6667}, 
        {lat:33.8600,lng:151.2111}, 
        {lat:34.0500,lng:118.2500}]; 

var insertLocations=mapWith(insertLatLong); 
insertLocations(inception_cities); 

Я получаю ошибку, выглядит так:

ReferenceError: list is not defined 
at mapWith (/home/anr/Desktop/node js/mysql.js:11:17) 
at Object.<anonymous> (/home/anr/Desktop/node js/mysql.js:40:21) 
+2

В '' функции funtion (list) '' '' '' отсутствует '. – freakish

+0

выражение на моем лице бесценно. Исправлено – vamsiampolu

ответ

1

Ошибка возникает, так как есть c Отсутствует в return funtion(list). Без него JavaScript думает, что вы хотите назвать что-то с именем funtion. Но вы также хотите передать list, и поскольку аргументы сначала оцениваются, вы получаете ReferenceError: он не знает, что такое list.

Смежные вопросы