基本概念
原型
每一个对象都有它的原型对象,可以使用自己原型对象上的所有属性和方法
原型链
对象有原型,原型也是对象,还有原型,原型还有原型...形成的链
获取原型方法
① 通过对象的 __proto__
获取;
let person = {
name: 'pp'
}
person.__proto__.job = function(){
console.log('前端')
}
person.job();
② 通过构造函数的 prototype
属性拿到原型
function Person(name, age){
this.name = name;
this.age = age;
}
let person = new Person('pp', 18);
Person.prototype.job = function(){
console.log('前端')
}
person.job();
继承
类与继承(ES6)
class User{
constructor(username,password){
this.username = username;
this.password = password;
}
login(){
console.log('登录')
}
}
class Admin extends User{
deletePerson(){
console.log('删除一个人')
}
}
let admin = new Admin();
admin.login();
admin.deletePerson();
原型继承(ES5)
function User(username, password){
this.username = username;
this.password = password;
// 挪到下面写喽
// this.login = function () {
// console.log('登录');
// }
}
function Admin(){
this.deletePerson = function(){
console.log('删除一个人');
}
}
Object.prototype.login = function(){
console.log('Object原型上的登录方法')
}
Admin.prototype = new User();
let admin = new Admin();
admin.login();
admin.deletePerson();
如果本文对你有所帮助,感谢点一颗小心心,您的支持是我继续创作的动力!
最后:写作不易,如要转裁,请标明转载出处。
网友评论