关于javascript:JS对象分类

7次阅读

共计 861 个字符,预计需要花费 3 分钟才能阅读完成。

易错点

请不要应用 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」

后果:

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