JavaScript在面向對象中的創(chuàng)建對象的3種方法
JavaScript是一種功能強大的編程語言,支持面向對象編程(OOP)。實際上,在JavaScript中,對象*** - 從核心功能(如字符串和數組)到使用該語言構建的瀏覽器API。
Bautista是一位美國網絡開發(fā)人員,熱衷于教授人們編程,他強調“要將你的JavaScript技能提升到一個新的水平,你需要理解語言的基于對象的本質。"
以下是在面向對象的JavaScript(OOJS)編程中創(chuàng)建對象的三種方法:
使用對象文字
在OOP中,對象文字是指用大括號括起來的用逗號分隔的名稱 - 值對列表。名稱是字符串,值是可用的任何基本數據類型,例如數組,字符串,數字,函數等等。
通常,對象文字用于封裝代碼并將其包裝在有序的包中。這樣,它們可以防止與全局范圍內的變量和對象發(fā)生沖突。使用對象文字,您可以一起收集屬性和方法,并使您的代碼干凈整潔。
JavaScript對象文字是單例,它們允許您方便靈活地創(chuàng)建對象。它們可以避免編寫過多代碼。例如,您可以將對象文字放置在工作區(qū)中的任何位置,而不包括任何先前的設置,并且它仍然可以正常工作 - 這可能非常有用!
雖然對象文字很重要,但它們不支持實例化或繼承。如果要使用這些功能,則需要使用其他技術來創(chuàng)建對象。
使用對象構造函數
構造函數是創(chuàng)建JavaScript對象的最常規(guī)技術,它依賴于原型繼承來利用彼此的功能。這些函數的一個關鍵特性是它們可以實例化和繼承。
構造函數的創(chuàng)建就像常規(guī)函數一樣。但是,區(qū)別在于this關鍵字用于聲明屬性和方法。通常,new將新創(chuàng)建的對象綁定到被調用構造函數中的this運算符。當調用類似于watch的函數時,瀏覽器將向上移動對象鏈及其各自的原型屬性,直到它檢索其值。
使用原型繼承
也可以使用原型繼承的概念創(chuàng)建JavaScript對象。大多數現(xiàn)代瀏覽器使用名為__proto__ 的特殊屬性實現(xiàn)原型,該屬性發(fā)音為dunder proto(雙下劃線原型的縮短版本)。
重要的是要注意__proto__是一種新的JavaScriptES6語法,可能在舊瀏覽器中不可用?;蛘撸梢允褂?strong>Object.create方法創(chuàng)建原型。