关于javascript:JS对象分类

易错点

请不要应用 class,写一个 Person 构造函数,要求以下代码运行通过:

function Person(name,age){
    this.name = name;
    this.age = age;
}
Person.prototype.sayHi=function(){
 console.log( "你好,我叫" + this.name);
}
let person = new Person('frank', 18)
person.name === 'frank' // true
person.age === 18       // true
person.sayHi()          // 打印出「你好,我叫 frank」
let person2 = new Person('jack', 19)
person2.name === 'jack' // true
person2.age === 19      // true
person2.sayHi()         // 打印出「你好,我叫 jack」

后果:

  • 留神:Person.prototype.sayHi = function(){}中的sayHi中的h忘了大写,还有漏掉了function(),间接写sayHi(),导致始终再报错!

请用 class 再实现一次下面的性能

class Person{
 constructor(name, age){
 this.name = name;
 this.age = age;
 }
 sayHi(){
 console.log( "你好,我叫" + this.name );
 }
}  
let person = new Person( ' frank ' , 18)  
person.name ==='frank' // true
person.age === 18 //true
person.sayHi() //打印出「你好,我叫 frank」

let person2 = new Person('jack', 19)  
person2.name === 'jack' // true
person2.age === 19 // true
person2.sayHi() // 打印出「你好,我叫 jack」

后果:

  • 留神:因为 你好,我叫 这里的引号,不小心用成了中文的引号,导致始终再报错

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理