У массивов есть свойство length. Если data массив, то просто data.length. Работает некорректно, если из массива удалять строки, да jQuery-вский each не лучшим образом работает. Или, может, точнее сказать, что строки удалять нельзя.
Или просто поставить счетчик в each.
Чтобы работало:
var records = 0;
$.getJSON('json.php?place=1&page=1', function(data){
$.each(data, function (i, item) {
$("#slideInner").append(item.title);
records = 10;
});
});
alert (records);
Использовать глобальные переменные не рекомендую, но глобальная переменная объявляется без var:
records = 10; — мы объявили глобальную переменную и присвоили ей значение 10. Ну или:
window.records = 10; — я так делаю, что бы точно знать, что я не забыл поставить var, а здесь именно тот редкий случай, когда нужна глобальная переменная, но я не видел, что бы так кто-то еще писал.