var life = {};
for(life.age = 1; life.age <= 3; life.age++)
{
switch(life.age)
{
case 1: life.body = "卵细胞";
life.say = function(){alert(this.age+this.body)};
break;
case 2: life.tail = "尾巴";
life.gill = "腮";
life.body = "蝌蚪";
life.say = function(){alert(this.age+this.body+"-"+this.tail+","+this.gill)};
break;
case 3: delete life.tail;
delete life.gill;
life.legs = "四条腿";
life.lung = "肺";
life.body = "青蛙";
life.say = function(){alert(this.age+this.body+"-"+this.legs+","+this.lung)};
break;
};
life.say();
};
当我在某处调用的时候我一定要知道其生命周期是进行到哪步了我才能知道其包含了那些特质
假如我在 age=1的时候 我调用了 life.tail结果将是 没有相关属性 而这也只有在运行时你才能确定。
所以当对象发生改变的时候只有非常清楚这点的人才能得心应手,对于那些空降兵,将是一大堆的抱怨。
DCI的思想是好的,但是如何才能从多方面则中考虑,还是有待探索。