結構化程序的概念首先是從以往編程過程中無限制地使用轉移語句而提出的。轉移語句可以使程序的控制流程強制性的轉向程序的任一處,在傳統流程圖中,就是用上節我們提到的"很隨意"的流程線來描述這種轉移功能。如果一個程序中多處出現這種轉移情況,將會導致程序流程無序可尋,程序結構雜亂無章,這樣的程序是令人難以理解和接受的,並且容易出錯。尤其是在實際軟件產品的開發中,更多的追求軟件的可讀性和可修改性,象這種結構和風格的程序是不允許出現的。比如:C,FORTRAN,PASCAL等等
結構化程序設計方法主要由以下三種邏輯結構組成:
1)順序結構:順序結構是一種線性、有序的結構,它依次執行各語句模塊。
2)循環結構:循環結構是重復執行一個或幾個模塊,直到滿足某一條件為止。
3)選擇結構:選擇結構是根據條件成立與否選擇程序執行的通路。
**采用結構化程序設計方法,程序結構清晰,易於閱讀、測試、排錯和修改。由於每個模塊執行單一功能,模塊間聯系較少,使程序編制比過去更簡單,程序更可靠,而且增加了可維護性,每個模塊可以獨立編制、測試。**
面向對象程序語言中支持的對象具有三個明顯得特征:
封裝、繼承、多態;而Javascript在類別和副本上並沒有明顯地分界。事實上,Javascript語言中所有的變量數據類型在JS中都是對象。JS總共支持4種對象:內置對象、自定義對象、瀏覽器程序對象和ActiveX對象。 return this只是返回該對象,以便別處引用,但並不是多出一個對象。
所以,面向過程的程序設計中:程序=算法+數據結構(數據和數據類型)
數據結構和算法相分離的,所以,系統龐大后,它的控制、移植、重用就成了問題。
而在面向對象的程序設計中:
對象=數據結構+算法
程序=對象+對象+.....
結構化程序設計從系統的功能入手(有的用戶也成為面向過程的設計),按照工程的標准和嚴格的規范將系統分解為若干功能模塊,系統是實現模塊功能的函數和過程的集合。
面向對象程序設計從所處理的數據入手,以數據為中心而不是以服務(功能)為中心來描述系統。他把編程問題視為一個數據集合,數據相對於功能而言,具有更強的穩定性。
面向對象程序設計是一種圍繞真實世界的概念來組織模型的程序設計方法,它使用對象來描述問題空間的實例。
對象:對象是包含現實世界物體特征的抽象實例,它反映了系統為之保存信息和與它交互的能力。
對象=數據+作用於這些數據上的操作。
類:類是對象集合的抽象,它規定了這些對象的公共屬性和方法;對象為類的一個實例。關鍵字class不等同於‘類’。使用關鍵字class定義不是唯一完成面向對象編程的方法。例如JavaScript就用function定義的語句塊來完成面向對象編程。