DarkGoodWIN - JavaScript. Учебник начального уровня
Так вот, чтобы в качестве параметров функции checkCell в будущем брались те значения переменных i и j, которые они имеют в момент присваивания, делается такой хитрый приём: создается местная функция внутри которой и происходит присваивание. Фокус в том, что в этом случае используются не долгоживущие переменные, объявленные в функции initTable, а короткоживущие параметры функции SetCellClick.
Всем пока.