Ваша функция go не догадывается о существовании переменных num0 и num1. Вынесите их объявление за пределы функции, например:
var num0 = 0;
var num1 = 0;
В функции restart, естественно, объявлять заново данные переменные не нужно.
В HTML отдавать версию в зависимости от аутентификации пользователя. Нет разрешения на просмотр всего контента: скрываем блюром и отдаем кракозябры, есть разрешение - соответственно. А как вы это будете реализовывать - это уже на ваш выбор.
Например на восьмой строке функция filter принимает 2 аргумента: массив и РЕЗУЛЬТАТ вызова функции inBetween т.е.
function(x) {
return x >= 3 && x <= 6;
}, вот в нее то мы и передаём потом val