ну, это обучающее задание мне такое дал друг. сказал, что не умея этого сделать я буду максимум верстальщиком
Слишком спорная фраза. Правильнее было бы "если ты не можешь этого сделать, то, возможно, твоих навыков недостаточно для фронтендера". То есть, не решение или не-решение задачи определяет, а, опять же, твоё понимание принципа работы языка)
А начинать обучение с методов - это и правда плохая идея. Если ты сможешь повторить любой или почти любой метод, используя только основы, это будет очень классный плюс к обучению)