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.com/index.htm", 'printUrl': function(){ console.log(this.url); } };
对象构造函数表示法 -
function Tutorialspoint(){ this.url = " https://tutorialspoint.com/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.com/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.com/index.htm"; this.printUrl = function () { document.write(this.url); }; } var link = new Tutorialspoint(); link.printUrl(); //Literal Notation </script> </body> </html>
广告