object就是對(duì)象的類型,在JS中不管多么復(fù)雜的數(shù)據(jù)和代碼,都可以組織成 object 形式的對(duì)象。 但 JS 卻沒有“類”的概念。
對(duì)于面向?qū)ο蟮某绦騿T來說,這恐怕是JS中最難以理解的地方。幾乎任何講述面向?qū)ο蟮牡胤剑谝粋€(gè)講的就是類的概念,這可是面向?qū)ο蟮闹е?。突然沒了沒,一下子就沒了精神支柱,感到六神無主。
var life = {};
for(life.age=1; life.age<=3; life.age++){
switch(life.age){
case 1:
life.body = '卵細(xì)胞';
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();
}
我們一定需要類嗎?
對(duì)象的類是從無到有,又不斷演化,最終又消失于無形之中...
所以,JS中并沒有類,類已化于無形,與對(duì)象融為一體。正是由于放下了類的概念,JS的對(duì)象才有了其他編程語言所沒有的活力。