讀書心得#重構JavaScript 3.1.2. 高階與低階(Hight-level and low-level)
3.1.2. 高階與低階(Hight-level and low-level) 高階與低階一詞在程式的世界中很常見,越高階的程式碼越抽象,越低階的程式碼越多實作。 第一次看到這句話的人可能已經開始神遊,不過現在讓哥帶你釐清如何辨別高階與低階。 註: 「高階」也常以 「Client」 一詞做取代 。 低階程式 首先來看低階程式碼,越低階的程式碼越接近底層。一般來說我們都懂, 越底層的程式碼越複雜 ,這是因為物件導向開發傾 封裝複雜的過程 ,以便重複利用。 這個概念其實在開發過程中也常碰到,以 jQuery 的 ajax (非同步連線)作舉例,你知道 jQuery 在封裝 ajax 之前有多複雜嗎?? 在 ajax 沒有被封裝之前,程式碼長這樣 : // If url is an object, simulate pre-1.5 signature if ( typeof url === "object" ) { options = url; url = undefined ; } // Force options to be an object options = options || {}; var // Create the final options object s = jQuery.ajaxSetup({}, options), // Callbacks context callbackContext = s.context || s, var // Create the final options object s = jQuery.ajaxSetup({}, options), // Callbacks context callbackContext = s.context || s, // Context for global events // It's the callbackContext if one was provided in the options // and if it's a DOM node or a jQuery collection globalEventContext = callbackContext