js中实例方法与原型方法定义上的区别
实例方法:放在实例对象上的方法
原型方法:放在原型上的方法
js中实例方法与原型方法实现上的区别完整代码
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
// 此时say为原型上的方法
// say() {
// console.log(`hi${this.name}`);
// }
// 此时say为实例上的方法(匿名函数)
// say = function () {
// console.log(`hi${this.name}`);
// };
// 此时say为实例上的方法(箭头函数)
say=()=>{
console.log(`hi${this.name}`);
}
}
let per = new Person("chen", 21);
per.say();
console.log(per);
3个函数分别运行,其结果区别如下
1.正常函数,方法在原型上
2.匿名函数,方法在实例上
3.箭头函数,方法在实例上