原型对象

·  阅读 32

什么是原型

每一个对象都有他的原型对象,他可以使用自己原型对象上的所有属性和方法。

获取原型方法

  1. 通过对象的__proto__获取
  2. 通过构造函数的prototype属性拿到原型
  3. 通过类的prototype属性拿到原型

实例1

	 let cat = {
	 	name: "喵喵"
	 }

	 cat.__proto__.eat = function() {
	 	console.log(this.name + "吃鱼")
	 }
	 cat.eat()
复制代码

实例2

	function Cat(name, age) {
		this.name = name;
		this.age = age;
	}

	let cat = new Cat("喵喵", 2)
	Cat.prototype.eat = function() {
		console.log(this.name + "吃鱼");
	};
	cat.eat()
复制代码

实例3

    class Cat {
		constructor(name, age){
			this.name = name;
			this.age = age;
		}
	}
	Cat.prototype.eat = function(){
		console.log("吃鱼");
	}
	let cat = new Cat("喵喵", 2);
	cat.eat();
复制代码

ES5继承: prototype

	function User(username, password){
		this.username = username;
		this.password = password;
		this.login = function(){
			console.log("login");
		}
	}

	function Admin(){
		this.deleteUser = function(){
			console.log("delete user");
		}
	}

	Admin.prototype = new User();
	let admin = new Admin();
	admin.login();
复制代码
分类:
前端
标签:
收藏成功!
已添加到「」, 点击更改