下⾯ JavaScript 代码的输出是什么?

function Person(firstName, lastName) {
  this.firstName = firstName;
  this.lastName = lastName;
}

const lydia = new Person("Lydia", "Hallie");
const sarah = Person("Sarah", "Smith");
console.log(lydia);
console.log(sarah);
1008 次浏览
  • A、Person {firstName: "Lydia", lastName: "Hallie"} and undefined
  • B、Person {firstName: "Lydia", lastName: "Hallie"} and Person {firstName: "Sarah", lastName: "Smith"}
  • C、Person {firstName: "Lydia", lastName: "Hallie"} and {}
  • D、Person {firstName: "Lydia", lastName: "Hallie"} and ReferenceError
对于 sarah ,我们没有使⽤ new 关键字。 使⽤ new 时,它指的是我们创建的新空对象。 但是,如果你不添加 new 它指 的是全局对象! 我们指定了 this.firstName 等于 'Sarah 和 this.lastName 等于 Smith 。 我们实际做的是定义 global.firstName ='Sarah' 和 global.lastName ='Smith' 。 sarah 本⾝的返回值是 undefined 。
挑战成功
2年前
挑战成功
4年前
挑战失败
4年前
挑战失败
4年前