易错点
请不要应用 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」
后果:
- 留神:因为 你好,我叫 这里的引号,不小心用成了中文的引号,导致始终再报错
发表回复