js中沒有類的說法,但可以使用函數來類比類。一個函數就可以是一個類:function Person(){}存在以上函數後,你就可以使用var p = new Person();來構造一個Person的執行個體。而類是有屬性和方法的,js則通過this來實現了屬性和方法的添加。function Person(){ this.name = "myName"; this.age = 20; this.eat = function(food){ alert("eat:"+food); }}這樣的定義使Person構造出來的對象都具有一些屬性和方法了。例如之前聲明的p,此時就有p.name = "myName"和p.age = 20,同時,p.eat("egg")則會彈出對話方塊“eat:egg”。這不就是一個類的實現嗎?所有的類都是繼承自Object的,但var a = new Object(),a則是Object的一個執行個體,而不是一個新的類。就像前面的p一樣,難道你還可以使用var b = new p()?顯然是不行的。那麼js是怎麼實現繼承的呢?說起來js中類的實現和繼承都有很多種方法,一時我也想不出。就舉一個最簡單的吧。假設前面定義了那個Person類,現在要讓一個Student類繼承它,怎麼做?function Student(){}Student.prototype = new Person();如上代碼就實現了js中的繼承關係,假如此時聲明一個Student的對象:var s = new Student();alert(s.name);//彈出“myName”s.eat("egg");//彈出“eat:egg”在新定義的類中,你可以重寫所有的屬性和方法,比如function Student(){ this.eat = function(food){ alert("learn first!"); }}之前的eat調用會彈出eat:food,此時再次調用eat,則會報出learn first!,說明方法已經被重寫了。在Student中,你還可以定義新的方法,新定義的方法,Person的對象都不具有。給你推薦一個本書《javascript進階程式設計》,李松峰和曹力翻譯的,挺好的,也挺入門的。才50多塊錢,想想50多塊錢就能掌握一門技術,值得!