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

在此示例中,您将学习以不同方式创建JavaScript对象。

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

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

示例1:使用对象字面量
// program to create JavaScript object using object literal
let 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

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

使用key:value对创建对象。

您还可以在对象内部定义函数,数组甚至对象。您可以使用dot访问对象的值.符号。


使用对象实例创建对象的语法为:

let objectName = new Object();
示例2:直接使用对象实例创建对象
// program to create JavaScript object using instance of an object
let 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
    }

}

let 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()创建一个新对象。


总计 0 评论

发表评论

作为 登录 | 登出 »

联系电话

18321263196

交换链接

互相学习

服务咨询

我的微信