溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript創(chuàng)建對(duì)象的方式是什么

發(fā)布時(shí)間:2020-12-02 10:57:48 來源:億速云 閱讀:149 作者:小新 欄目:web開發(fā)

了解JavaScript創(chuàng)建對(duì)象的方式是什么?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

在語法方面,JavaScript是一種靈活的面向?qū)ο笳Z言。在本文中,我們將給大家介紹JavaScript實(shí)例化對(duì)象的不同方法。

需要注意的是JavaScript是一種無類語言,并且函數(shù)以某種方式使用,以便它們模擬一個(gè)類。

使用函數(shù)作為類:

用JavaScript實(shí)例化對(duì)象的最簡單方法之一。我們定義了一個(gè)經(jīng)典的JavaScript函數(shù),并使用new關(guān)鍵字創(chuàng)建函數(shù)的對(duì)象。函數(shù)的屬性和方法使用this關(guān)鍵字創(chuàng)建。

<script> 
    function copyClass(name, age) { 
        this.name = name; 
        this.age = age; 
        this.printInfo = function() { 
            console.log(this.name); 
            console.log(this.age); 
        } 
    } 
  
// 創(chuàng)建copyClass對(duì)象并初始化參數(shù)。
var obj = new copyClass("Vineet", 20); 
  
//調(diào)用copyClass的方法。
obj.printInfo(); 
</script>

輸出:

Vineet
20

說明:OOP中的類有兩個(gè)主要組件,某些參數(shù)和一些成員函數(shù)。在這個(gè)方法中,我們聲明一個(gè)類似于類的函數(shù),有兩個(gè)參數(shù),name和age(this關(guān)鍵字用于將類的名稱和年齡區(qū)分為正在提供的參數(shù)的名稱和年齡。)和printInfo方法,用于打印這些參數(shù)的值。然后我們簡單地創(chuàng)建一個(gè)copyClass的對(duì)象obj,初始化它并調(diào)用它的方法。

使用對(duì)象字面量:

字面量是定義對(duì)象的更小和更簡單的方法。下面我們用字面量實(shí)例化一個(gè)與前一個(gè)對(duì)象完全相同的對(duì)象。

<script> 
    var obj = { 
        name : "", 
        age : "", 
        printInfo : function() { 
            console.log(this.name); 
            console.log(this.age); 
        } 
    } 
  
// 初始化參數(shù)。
obj.name = "Vineet"; 
obj.age = 19; 
  
// 使用對(duì)象的方法。
obj.printInfo(); 
</script>

輸出:

Vineet
20

說明:這個(gè)方法與前一個(gè)方法的工作原理相同,但是我們沒有將參數(shù)(名稱和年齡)和方法(printInfo)捆綁在函數(shù)中,而是將它們捆綁在對(duì)象本身中,初始化對(duì)象并簡單地使用方法。

使用函數(shù)的單例:

第三種方法是另外兩種方法的結(jié)合。我們可以使用一個(gè)函數(shù)來定義一個(gè)單例對(duì)象。

<script> 
    var obj = new function() { 
        this.name = ""; 
        this.age = ""; 
        this.printInfo = function() { 
            console.log(this.name); 
            console.log(this.age); 
        }; 
    } 
  
obj.name = "Vineet"; 
obj.age = 20; 
  
obj.printInfo(); 
</script>

輸出:

Vineet
20

說明:這是前兩種方法的組合,我們將方法和參數(shù)捆綁在一個(gè)函數(shù)中,但沒有為它聲明單獨(dú)的函數(shù)(如方法1中的copyClass),而是簡單地使用函數(shù)結(jié)構(gòu)聲明一個(gè)對(duì)象。

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)JavaScript創(chuàng)建對(duì)象的方式是什么大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI