На тот момент, когда ты вызываешь console.log(check()); В переменную ничего не записалось ибо это асинхронный запрос и он еще может только отправляться на сервер, а ты уже проверяешь результат.
Что можешь сделать:
1. Использовать promise
2. в функции .done выполнять то что тебе нужно, так как, как только придет результат она будет вызвана, например:
function check() {
var site = "https://...";
$.getJSON( site , {
param: param
})
.done(function( data ) {
if (data === undefined || data.length == 0) {
return false;
}else{
console.log(data);
// или все что угодно с data
}
});
}
3. Сделать события прихода данных