object
就是对象的类型,在JS中不管多么复杂的数据和代码,都可以组织成 object
形式的对象。 但 JS 却没有“类”的概念。
对于面向对象的程序员来说,这恐怕是JS中最难以理解的地方。几乎任何讲述面向对象的地方,第一个讲的就是类的概念,这可是面向对象的支柱。突然没了没,一下子就没了精神支柱,感到六神无主。
var life = {};
for(life.age=1; life.age<=3; life.age++){
switch(life.age){
case 1:
life.body = '卵细胞';
life.say = function(){
console.log(this.age, this.body);
};
break;
case 2:
life.tail = '尾巴';
life.gail = '腮';
life.body = '蝌蚪';
life.say = function(){
console.log(this.age, this.body, this.tail, this.gail);
};
break;
case 3:
delete life.tail;
delete life.gill;
life.legs = "四条腿";
life.lung = '肺';
life.body = '青蛙';
life.say = function(){
console.log(this.age, this.body, this.legs, this.lung);
};
break;
}
life.say();
}
我们一定需要类吗?
对象的类是从无到有,又不断演化,最终又消失于无形之中...
所以,JS中并没有类,类已化于无形,与对象融为一体。正是由于放下了类的概念,JS的对象才有了其他编程语言所没有的活力。