Не совсем, конечно, обфускация, но если исходить из определения с википедии ("приведение исходного текста программы к виду, сохраняющему ее функциональность, но затрудняющему анализ") - то вполне себе да.
Все что требуется - это закодировать исходный код через Base64, а в конечном варианте его просто обратно декодировать.
Т. е. есть такой JS:
alert('Hello, world!');
Мы берем этот alert('Hello, world'); и представляем его в формате base64, можно тем же JS через функцию btoa() или другим ЯП, или вообще каким-нибудь онлайн сервисом.
Получаем следующее:
YWxlcnQoJ0hlbGxvLCB3b3JsZCEnKTs=
Важный момент: Base64 не может в мультибайтинг, только ASCII, поэтому использовать в коде следует исключительно латиницу.
Чтобы этот "обфусцированный" код выполнить, строчку надо раскодировать обратно через atob() и прогнать через eval():
eval(btoa("YWxlcnQoJ0hlbGxvLCB3b3JsZCEnKTs="));
Собственно, этот код выше - полный эквивалент изначального "Hello, world!".
Ну да, только что защита от "дурака", не обладающего никакими знаниями в программировании. Если есть хоть минимальный навык в кодинге, понять что к чему не составит никакого труда. Но тут стоит учесть, что ровно такой же уровень "защиты" предоставляют и все другие публичные сервисы обфускации. Да, они сложны алгоритмически и все такое. Но они публичны. И ровно по этой причине декодируются обратно все теми же публичными сервисами. Т. е. по-хорошему если и делать обфускацию, то чисто самописную с единственным критерием - чтобы нельзя было декодировать уже готовыми средствами. Понятное дело, что все это расшифровывается все тем же самописом, однако в этом случае потребуется приложение некоторых сил, что не всегда является рентабельным.