init будет переменной с значением функции, грубо говоря. А все что объявляется через var в фунции, является локальным/приватным, доступным только соседним локальным функциям (как локальные методы в других языках). var c и this.c - тоже разные переменные. В общем, можно описать это так: