JavaScript 中的物件字面量與建構函式


物件字面量和建構函式都用於在 JavaScript 中建立物件。由物件字面量建立的物件是單例。這意味著當對物件進行更改時,它會影響整個指令碼中的該物件。

如果由函式建構函式建立的物件具有該物件的多個例項。這意味著對一個例項所做的更改不會影響其他例項。

物件字面量表示法 - 讓我們建立使用者詳細資訊,其中我們有鍵、姓名、年齡和公司名稱。因此,我們正在建立一個名為 userDetails 的物件。

const userDetails = {name: "Aman", age: "22", Company: "tutorialspoint"};

物件建構函式表示法 - 在建構函式表示法中,我們正在建立相同的物件,但使用不同的方式。透過使用“new”關鍵字呼叫建構函式。

const userDetails = new User("Aman", 22, "tutorialspoint");

方法和屬性

JavaScript 中的物件具有方法和屬性,無論它們是使用建構函式還是使用字面量表示法構建的。在 JavaScript 中,稱為“this”的關鍵字是“擁有”程式碼的物件。“this”在物件中使用時的值是物件本身。

讓我們演示如何定義它們。

物件字面量表示法 -

const Tutorialspoint = {
   'url': " https://tutorialspoint.tw/index.htm",
   'printUrl': function(){ 
      console.log(this.url);
   }
};

物件建構函式表示法 -

function Tutorialspoint(){
   this.url = " https://tutorialspoint.tw/index.htm";
   this.printUrl = function(){
      console.log(this.url);
   }
}

示例 1

在以下示例中,我們正在建立一個物件並使用字面量表示法列印其值。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Literal Notation</title>
</head>
<body>
   <script>
      const Tutorialspoint = {
         url: " https://tutorialspoint.tw/index.htm",
         printUrl: function () {
            document.write(this.url);
         },
      };
      Tutorialspoint.printUrl(); //Literal Notation
   </script>
</body>
</html>

示例 2

在以下示例中,我們正在建立一個物件並使用建構函式表示法列印其值。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Literal Notation</title>
</head>
<body>
   <script>
      function Tutorialspoint() {
         this.url = " https://tutorialspoint.tw/index.htm";
         this.printUrl = function () {
            document.write(this.url);
         };
      }
      var link = new Tutorialspoint();
      link.printUrl(); //Literal Notation
   </script>
</body>
</html>

更新於: 2022-12-19

946 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告