MST

星途 面试题库

面试题:JavaScript中构造函数与this的基础使用

请描述JavaScript中构造函数的定义方式,以及构造函数内部`this`的指向规则。同时,编写一个简单的构造函数,用于创建具有`name`和`age`属性的对象,并通过该构造函数创建两个实例,展示如何访问实例的属性。
38.9万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 构造函数定义方式: 在JavaScript中,构造函数本质上就是一个普通函数,但它使用new关键字来调用,以创建对象实例。构造函数通常遵循首字母大写的命名约定。例如:
function Person() {
    // 函数体
}
  1. 构造函数内部this的指向规则: 当使用new关键字调用构造函数时,this指向新创建的对象实例。如果没有使用new关键字调用构造函数,那么this的指向取决于函数的调用方式,在非严格模式下,全局函数调用时this指向全局对象(浏览器中是window);在严格模式下,全局函数调用时thisundefined

  2. 示例代码

function Person(name, age) {
    this.name = name;
    this.age = age;
}

// 创建两个实例
const person1 = new Person('Alice', 30);
const person2 = new Person('Bob', 25);

// 访问实例的属性
console.log(person1.name); 
console.log(person1.age); 
console.log(person2.name); 
console.log(person2.age);