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>

更新于: 2022-12-19

946 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告