码迷,mamicode.com
首页 > 编程语言 > 详细

[javascript]js原型链以及原型链继承

时间:2019-03-29 17:40:10      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:code   cti   pre   img   let   添加   丢失   保留   OLE   

技术图片

基础的三个要素: 函数 ,函数实例,实例原型.

实例原型相当于 父类,
函数相当于构造函数

举例:

class Fn extends Fn.prototype{
    
}

实例:
let f = new Fn();

Fn不能直接加方法或者属性,只能通过Fn.prototype

f可以动态添加属性或者方法。如果f添加属性与Fn.prototype里面的一致,则会保留两份,例如下面:Kevin不管你是否“覆盖”,它都存在。

function Person() {

}

Person.prototype.name = 'Kevin';

var person = new Person();

person.name = 'Daisy';
console.log(person.name) // Daisy

delete person.name;
console.log(person.name) // Kevin

原型链跟继承不一样的地方在于:
继承时候,父类的内容就是子类的内容,修改后,父类的就"丢失"了;原型链则是,父类的还是父类的,子类会从父类得到,但是父类的东西一直都在;

[javascript]js原型链以及原型链继承

标签:code   cti   pre   img   let   添加   丢失   保留   OLE   

原文地址:https://www.cnblogs.com/wyy5552/p/10622542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!