1、類的定義編程
嚴格的說,JavaScript 是基於對象的編程語言,而不是面向對象的編程語言。
在面向對象的編程語言中(如Java、C++、C#、PHP等),聲明一個類使用 class 關鍵字。
例如:public class Person{}
可是在JavaScript中,沒有聲明類的關鍵字,也沒有辦法對類的訪問權限進行控制。編程語言
JavaScript使用函數來定義類。函數
語法:
function className(){
// 具體操做
}學習
例如定義一個ren的類:this
function ren(name,age){ this.name=name; this.age=age; this.study=function(){ alert('我會學習'); } this.eat=function(){ alert('我會吃飯'); } }
說明:this關鍵字是指當前的對象。spa
建立對象(類的實例化)設計
建立對象的過程也是類實例化的過程。
在JavaScript中,建立對象(即類的實例化)使用 new 關鍵字。
語法:
new className();code
面向對象編程的基本概念對象
面向對象編程(Object Oriented Programming,OOP,面向對象程序設計) 的主要思想是把構成問題的各個事務分解成各個對象,創建對象的目的不是爲了完成一個步驟,而是爲了描敘一個事物在整個解決問題的步驟中的行爲。
面向過程就是分析出解決問題所須要的步驟,而後用函數逐步實現,再依次調用就能夠了。blog
面向對象與面向過程是兩種不一樣的編程思想,沒有哪種方式絕對完美,須要根據程具體項目來定。好比,開發一個小的軟件或網頁,工程量小,短期內就可完成,徹底能夠採用面向過程的開發方式,使用面向對象,反而會增長代碼量,減緩運行效率。
面向過程的編程語言(如C語言)不能建立類和對象,不能用面向對象的方式來開發程序;面向對象的編程語言(如Java、C++、PHP)保留了面向過程的關鍵字和語句,能夠採用面向過程的方式來開發程序。
類的繼承
一個類能夠繼承另外一個類的特徵,如同兒子繼承父親的DNA、性格和財產等,與現實生活中的繼承相似。