現在前端面試,javascript對象幾乎已經成為了一個必考的內容,當然,如果要去面試,創建一個javascript對象這樣的基本功應該是沒問題,但是如果讓你列舉創建對象的多種方式,並且說明各種方式的優缺點,你確定你還能贏得這場面試嗎?很多人學習前端,抱著的目的不一,也有不少是速成的,就算面試前惡補了不少面試題,基礎也是很薄弱的,如果碰到這種javascript題目,或者一些考驗基礎的演算法,邏輯題,就很難有好的結果了。
如果有正在學習前端javascript的夥伴,不知道怎麼學習,或者該學些什麼才能找到工作的可以一起來我們的頭條前端群180-442-230,一整套前端學習路線及系統學習資料已上傳到群文件!
javascript創建對象的多種方式及優缺點
一:對象字面量
點擊查看清晰圖
缺點:只能創建一次對象,復用性較差,如果要創建多個對象,代碼冗餘度太高
二:使用內置構造函數
點擊查看清晰圖
缺點:同上一
三:工廠模式
方法四:構造函數模式
如果不寫返回值,默認返回的是新創建出來的對象 (一般都不會去寫這個return語句)
如果我們自己寫return語句 return的是空值(return;),或者是基本類型的值或者null,都會默認返回新創建出來的對象
如果返回的是object類型的值,將不會返回剛才新創建的對象,取而代之的是return後面的值
優點:實例時可以識別為一個特定的類型
缺點:構造函數中定義函數,那麼每次創建對象,都會重新創建該函數,這樣會導致全局變數增多,造成污染,代碼結構會混亂,不易維護
五:原型
優點:說明:構造函數的原型對象中的成員,可以被該構造函數創建出來的所有對象訪問,而且,所有的對象共享該對象,所以,我們可以將構造函數中需要創建的函數,放到原型對象中存儲,這樣就解決 全局變數污染的問題 以及 代碼結構混亂的問題