game_area = document.getElementById("a");
context = game_area.getContext('2d');
Обе эти переменные объявлены без использования ключевого слова var ... это опасно и может вызвать утечки памяти в зависимости от того, как вы их используете.
Это путь вперед:
var game_area = document.getElementById("a");
var context = game_area.getContext('2d');
Также не рекомендуется обращаться к глобальным переменным, поскольку виртуальная машина JavaScript должна выполнять поиск, который является довольно дорогостоящим.Лучше было бы сделать это:
function on_enter_frame(pContext, pGame_area, pBoard){
pContext.clearRect(0,0, pGame_area.width, pGame_area.height);
pContext.fillStyle = "#28F";
pContext.fillRect(0,0,500,500);
draw_grid(32, 10, pContext);
update_grid(pBoard, pContext);
}
Затем вызвать этот метод с необходимыми параметрами, уже существующими в текущей области:
on_enter_frame(context, game_area, board);