JavaScript 中的構造函數和其它語言中的構造函數是不同的。通過 new 關鍵字方式調用的函數都被認為是構造函數。任何JavaScript 函數都可以用做構造函數,構造函數必須使用new 運算符作為前綴來創建新的實例。
前言--講在前面
我想有很多以前很少接觸後台編程語言的初學者朋友跟我一樣,對javascript裡面一系列的“名詞”搞的一頭霧水。好像大概知道講的是什麼,但其實理解的還是不清楚;我想,學習任何一種知識,首當其沖應該把最基本的名詞解釋搞清楚(知道它講的到底是什麼,有助於我們更好的理解它。)即知其然知其所以然,這樣對以後的進階學習是很有幫助的。下面的簡單講一下我自己對這樣一些看似不重要但又不得不清楚的知識點的理解。(若有出入,歡迎指正)
1.什麼是構造函數
構造函數 ,是一種特殊的方法。主要用來在創建對象時初始化對象, 即為對象成員變量賦初始值,總與new運算符一起使用在創建對象的語句中。
這是百度百科的解釋,解釋的很書本化但意思表達的還是很清楚的。下面請看小例子:
代碼如下:
var request = new XMLHttpRequest();
這句表達式是我們在使用AJAX技術時創建request對象時經常用到的。那麼我們可以清楚的看到 “new XMLHttpRequest();” 這句話就是一個標准的構造函數!我們 “var” 聲明了一個 “request” 對象,用構造函數 “new XMLHttpRequest();” 來初始化這個 “request” 對象為它賦初始值。所以我們可以知道:“與 ‘new' 運算符一起使用用來創建對象並初始化對象的‘函數'就是構造函數”。
比如我們常見的聲明數組就是標准的構造函數:var array = new Array();
2.什麼是實例化對象
代碼如下:
var request = new XMLHttpRequest();
在面向對象的編程中,通常把用類創建對象的過程稱為實例化。
上面我用紅色和藍色將解釋的重點標了出來。說白了,實例化對象就是創建對象的過程!
那麼什麼是“類”呢?根據字面理解我們可以理解為“類型”。比如“蛋糕”,它是一個甜品的分類,也就是一個類型;那麼起司蛋糕則是甜品中蛋糕這個分類的具體的個體,也就是對象。
我們知道在程序語言中,“類”是抽象的,我們沒有辦法來操作它或使用它的方法和屬性,只有把這個類實例化成為一個對象,我們才可以去調用它的一系列方法和屬性。其實這個也很好理解,在生活中抽象的東西我們沒有辦法看到它或者捕捉到它,那麼自然我們也沒有辦法去使用它的一些功能,只有將抽象的東西具體到一個個,個體或實際的對象,我們才能清楚的理解或者認識它;編程亦是如此。因此,實例化對象就是由抽象到具體的過程,這個過程就叫實例化。
以上所述就是本文的全部內容了,希望大家能夠喜歡。