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>
廣告