я использую плагин JQuery Autocomplete для отображения информации о пользователе в поле поиска, и я не могу вполне понять смысл синтаксиса следующей синтаксического анализа функции:Как интерпретировать синтаксис функции синтаксического анализа плагина Jquery Autocomplete в
$("#UserSearchBox").autocomplete('FindUser.ashx',
{
minChars: 2,
width: 400,
max: 5,
parse: function(data)
{
return $.map(eval(data), function(row)
{
return {
data: row,
value: row.UserID,
result: ""
}
});
},
formatItem: function(item)
{
return FormatUser(item);
});
Плагин прекрасно работает: он извлекает JSONified массив информации о пользователе из обработчика HTTP и отображает форматированные значения с помощью функции FormatUser, но мне очень хотелось бы знать, что делает следующий код (я просто скопировал он из образца и скорректирован для объекта пользователя):
return $.map(eval(data), function(row)
{
return {
data: row,
value: row.UserID,
result: ""
}
});
Кроме того, почему открывающая скобка второго возврата должна быть в той же строке, что и оператор возврата? Если изменить код следующим образом:
return $.map(eval(data), function(row)
{
return
{
data: row,
value: row.UserID,
result: ""
}
});
Я получаю ошибку о недопустимой этикетке данных. Есть идеи? Благодарю.
Спасибо. Не знал этого. Поэтому для моего первого вопроса я предполагаю, что код возвращает объект с тремя свойствами: данными, значением и результатом, правильно? –
Да, это правильно. анонимная функция, переданная методу карты, возвращает объект с 3 свойствами. – SolutionYogi