JavaScript 程序:以不同方式创建对象

要理解此示例,您应了解以下 JavaScript 编程 主题


您可以通过三种不同的方式创建对象

  1. 使用对象字面量
  2. 通过直接创建Object的实例
  3. 通过使用构造函数

示例1:使用对象字面量

// program to create JavaScript object using object literal
const person = { 
    name: 'John',
    age: 20,
    hobbies: ['reading', 'games', 'coding'],
    greet: function() {
        console.log('Hello everyone.');
    },
    score: {
        maths: 90,
        science: 80
    }
};

console.log(typeof person); // object

// accessing the object value
console.log(person.name);
console.log(person.hobbies[0]);
person.greet();
console.log(person.score.maths);

输出

object
John
reading
Hello everyone.
90

在此程序中,我们创建了一个名为person的对象。

您可以使用对象字面量创建对象。对象字面量使用{ }直接创建对象。

对象是以键:值对的形式创建的。

您还可以在对象内部定义函数数组甚至对象。您可以使用点.表示法访问对象的值。


使用对象实例创建对象的语法是

const objectName = new Object();

示例2:直接创建Object的实例来创建一个对象

// program to create JavaScript object using instance of an object
const person = new Object ( { 
    name: 'John',
    age: 20,
    hobbies: ['reading', 'games', 'coding'],
    greet: function() {
        console.log('Hello everyone.');
    },
    score: {
        maths: 90,
        science: 80
    }
});

console.log(typeof person); // object

// accessing the object value
console.log(person.name);
console.log(person.hobbies[0]);
person.greet();
console.log(person.score.maths);

输出

object
John
reading
Hello everyone.
90

在这里,new 关键字Object()实例一起用于创建对象。


示例3:使用构造函数创建对象

// program to create JavaScript object using instance of an object

function Person() {
    this.name = 'John',
    this.age = 20,
    this.hobbies = ['reading', 'games', 'coding'],
    this.greet = function() {
        console.log('Hello everyone.');
    },
    this.score = {
        maths: 90,
        science: 80
    }

}

const person = new Person();

console.log(typeof person); // object

// accessing the object value
console.log(person.name);
console.log(person.hobbies[0]);
person.greet();
console.log(person.score.maths);

输出

object
John
reading
Hello everyone.
90

在上面的示例中,Person()构造函数用于使用new关键字创建对象。

new Person()创建一个新对象。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战