Menu
CoddyTech

new 关键字

本课属于 Coddy JavaScript 学习旅程的“面向对象编程”单元。第 5 课,共 56 课。

JavaScript 中的 new 关键字用于创建构造函数的实例,构造函数充当创建对象的模板。

为 Person 创建一个构造函数:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.greet = function() {
    return "Hello, my name is " + this.name;
  };
}

使用 new 关键字创建一个实例:

const john = new Person("John", 30);

运行上面的代码后,john 是一个具有属性和方法的对象:

  • john.name 的值是 "John"
  • john.age 的值是 30
  • john.greet() 会返回 "Hello, my name is John"

如果没有 new 关键字,this 就会指向全局对象(或在严格模式下为 undefined),而不是新实例。

challenge icon

挑战

创建一个汽车对象并打印它的描述

已提供一个用于创建汽车对象的构造函数。你的任务是:

  1. 使用 new 关键字创建一个新的汽车对象,将 "Honda" 作为名称,将 2018 作为年份
  2. 在你的汽车对象上调用 getDescription 方法
  3. 将结果打印到控制台

亲手试试

function Car(name, year) {
    this.name = name;
    this.year = year;
    
    this.getDescription = function() {
        return "This is a " + this.name + " from " + this.year;
    };
}

// TODO:使用 new 关键字创建一个新的汽车对象,将 "Honda" 作为名称、2018 作为年份传入

// TODO:调用你的汽车对象的 getDescription 方法,并将结果打印到控制台



quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

面向对象编程中的所有课

自己练习: JavaScript 在线编译器