В браузере, очевидно же. Открыть файл с кодом или прямо в консоль\адресную строку скопипастить.
В почти любом браузере в консоли (вызывается, как правило, по F12).
Или на jsfiddle.net
Выполняется, соответственно, там где есть исполнитель. Один из возможных, и наиболее частых исполнителей — браузер. Отправляем туда текст программы, браузер «видит» понятные ему директивы и действует. Cервер, в этом случае, JS-код не выполняет — код предназначен не для него — он его только отдает. И все это, разумеется, только если браузер поддерживает JavaScript (его поддержки может не быть, как, например, в старых мобильных телефонах, или он может быть отключен) .
Другой возможный исполнитель — сервер. Разумеется, само по себе ничего не произойдет — Cерверу, как и браузеру, нужно дать код и явным образом сказать «выполняй вот это. » И, разумеется, сервердолжен иметь средства для выполнения JavaScript-кода (интерпретатор или компилятор) . Примеры таких технологий — старый-древний ASP (там был JScript а не JavaScript, но разница невелика) или современные Rhino или node.js. Тут нет разницы между JavaScript, PHP, Python или любым другим языком. Ну, просто, вместо интерпретатора и кода на PHP заставили сервер запустить интерпретатор и код на JS.