溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript創建對象的方法什么

發布時間:2020-08-29 14:28:21 來源:億速云 閱讀:107 作者:小新 欄目:web開發

這篇文章主要介紹了JavaScript創建對象的方法什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

在語法方面上,JavaScript是一種靈活的面向對象語言。在我們介紹JavaScript創建并實例化對象的不同方法之前,我們需要注意的是JavaScript是一種無類語言,函數會以某種方式被使用,以便它們模擬一個類?!?br/>

使用函數作為類:

這是在JavaScript中創建并實例化對象的最簡單方法之一。我們定義了一個經典的JavaScript函數,并使用new關鍵字創建了該函數的對象;再使用this關鍵字創建函數的屬性和方法。

<script> 
    // 作為一個類的功能。
    function copyClass(name, age) { 
        this.name = name; 
        this.age = age; 
        this.printInfo = function() { 
            console.log(this.name); 
            console.log(this.age); 
        } 
    } 
  
// 創建copyClass的對象
// 初始化參數
var obj = new copyClass("Vineet", 20); 
  
//調用copyClass對象的方法
obj.printInfo(); 
</script>

運行結果:

JavaScript創建對象的方法什么

說明:

類有兩個主要組成部分:特定的參數和很少的成員函數。在這個方法中,我們聲明了一個類似于類的函數,它有兩個參數,name和age(這個關鍵字用于將類的名稱和年齡與所提供的參數的名稱和年齡區分開來);以及一個printInfo方法,用于打印這些參數的值。然后,我們簡單地創建一個copyClass的對象obj,初始化它,并調用它的方法。

使用對象字面量(object literal):

literal是定義對象的更小更簡單的方法。

下面我們用對象文本來創建并實例化一個與前一個對象完全相同的對象。

<script> 
    // 創建對象
    var obj = { 
        name : "", 
        age : "", 
        printInfo : function() { 
            console.log(this.name); 
            console.log(this.age); 
        } 
    } 
  
// 初始化參數
obj.name = "小明"; 
obj.age = 19; 
  
// 使用對象的方法
obj.printInfo(); 
</script>

運行結果:

JavaScript創建對象的方法什么

說明:

此方法與前一種方法的工作原理其實是相同的,但不是將參數(name和age)和方法(printInfo)綁定到函數內部,而是將它們綁定到對象本身中,可以始化對象并簡單地使用這些方法。

使用函數的單例:

第三種方式就是我們已經看到的另外兩種方式的組合。我們可以使用函數來定義單個對象。

<script> 
// 創建單個對象
var obj = new function() { 
        this.name = ""; 
        this.age = ""; 
        this.printInfo = function() { 
            console.log(this.name); 
            console.log(this.age); 
   }; 
} 
  
// 初始化對象
obj.name = "小明"; 
obj.age = 20; 
  
// 對象的調用方法
obj.printInfo(); 
</script>

運行結果:

JavaScript創建對象的方法什么

說明:

這是前兩種方法的組合,我們將方法和參數綁定在函數中,但不為其聲明單獨的函數(就像方法1中的copyClass)。相反,我們簡單地使用函數結構聲明一個對象。

感謝你能夠認真閱讀完這篇文章,希望小編分享JavaScript創建對象的方法什么內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女