您可以在 repo Github 上找到这篇文章中的所有代码。
ES6之前推荐。
/** * @param {string} firstName * @param {string} lastName * @param {number} age */ function Person(firstName, lastName, age) { this.firstName = firstName; this.lastName = lastName; this.age = age; this.greet = function () { console.log(`Hello, my name is ${this.firstName} ${this.lastName}`); }; } // Usage example const person1 = new Person("John", "Doe", 30); person1.greet(); // => Hello, my name is John Doe const person2 = new Person("Jane", "Smith", 25); person2.greet(); // => Hello, my name is Jane Smith
ES6 之后推荐。
class Person { constructor(firstName, lastName, age) { this.firstName = firstName; this.lastName = lastName; this.age = age; } greet() { console.log(`Hello, my name is ${this.firstName} ${this.lastName}`); } } // Usage example const person1 = new Person("John", "Doe", 30); person1.greet(); // => 'Hello, my name is John Doe' const person2 = new Person("Jane", "Smith", 25); person2.greet(); // => 'Hello, my name is Jane Smith'
const person = { firstName: "John", lastName: "Doe", age: 30, greet: function () { console.log(`Hello, my name is ${this.firstName} ${this.lastName}`); }, }; person.greet(); // => 'Hello, my name is John Doe'
const personPrototype = { greet: function () { console.log(`Hello, my name is ${this.firstName} ${this.lastName}`); }, }; const person = Object.create(personPrototype); person.firstName = "John"; person.lastName = "Doe"; // Usage example person.greet(); // => 'Hello, my name is John Doe'
/** * @param {string} firstName * @param {string} lastName * @param {number} age * @return {object} */ function createPerson(firstName, lastName, age) { return { firstName: firstName, lastName: lastName, age: age, greet: function () { console.log(`Hello, my name is ${this.firstName} ${this.lastName}`); }, }; } // Usage example const person1 = createPerson("John", "Doe", 30); person1.greet(); // => 'Hello, my name is John Doe' const person2 = createPerson("Jane", "Smith", 25); person2.greet(); // => 'Hello, my name is Jane Smith'
以上是对象创建 - JavaScript 挑战的详细内容。更多信息请关注PHP中文网其他相关文章!