値を変更しまくる変数があったとして、その変数の値に変更を加えた際に、なんらかの処理をしたいときに使う。特殊なことはしてなくて、単純にクロージャにしているだけ。
function HogeNum() {
var hogeNum = 0;
this.getNum = function() {
return hogeNum;
};
this.setNum = function(val) {
hogeNum = val;
doSomething(val);
};
}
function doSomething(val) {
// do something...
}
var gHogeNum = new HogeNum();
// 値を取得
console.log(gHogeNum.getNum());
// 値を設定
gHogeNum.setNum(100);
なんか、グローバルな感じがちょっと嫌って気がする。