1.混入式继承 var obj1 = {} var obj2 = { name: 'ys', age: 18 } for(var k in obj2){ obj1[k] = obj2[k] } 2.原型继承 // 方法一: function Person() { }; var obj1 = {} v ...
分类:
其他好文 时间:
2018-02-23 22:28:49
阅读次数:
207
编写Javascript的开发者都知道,JS虽然没有类(ES6添加了class语法),但是可以模拟出OOP语言的类和面向对象的概念,比如我们都知道的一句话,Javascript中处处是对象,而面向对象语言的特性是继承,封装,多态,抽象,而本文讨论的是Javascript的继承,Javascript的 ...
分类:
编程语言 时间:
2018-02-12 20:13:50
阅读次数:
185
0. ES6可以直接使用class,extends来继承. 1. 原型继承 2、类继承(借用构造函数的方式继承) 3. 极简主义 没有使用任何的prototype,apply,call ...
分类:
Web程序 时间:
2018-02-11 23:44:39
阅读次数:
379
问题描述 在开发中需要实现一个自定义Error,它继承自 ,按照经验,一般会这样来做: 它工作的很好,没有明显的bug,所以长期以来,我都这么干。直到某天试着这样: console.log(CustomError instanceof Error) CustomError.__proto__ = E ...
分类:
其他好文 时间:
2018-02-08 20:16:46
阅读次数:
193
一://1.什么是原型,你可以这样理解:每一个javascipt对象(除null外)在创建的时候就会与之关联另外一个对象,这个对象就是我们说的原型,每一个对象都会从原型‘继承’属性 //2.__proto__是每一个javascript对象(除null外)都具有的一个属性,他会指向对象的原型(也叫实 ...
分类:
其他好文 时间:
2018-01-30 22:51:57
阅读次数:
189
基本概念 1、通过同一个构造函数创建的对象都共有一个原形,可以通过构造函数.prototype进行访问 2、这个原型可以被用来做继承用,js中的继承有好几种,包括混入继承,经典继承,还有原型继承 3、通过构造函数创建出来的对象,不仅拥有构造函数中的属性,还拥有原型中创建出来的属性 原型基本 混入继承 ...
分类:
Web程序 时间:
2018-01-22 13:01:26
阅读次数:
196
总的来说js语言就是门面向对象编程的语言,对象这个概念几乎贯穿了整个js的学习。 对象 创建对象两种方法:(若要生成对象实例必须调用构造函数) 1、var obj = {name:"jer" , age:12};(在js内部调用了预设的Object()构造函数) 访问:alert(obj.name) ...
分类:
编程语言 时间:
2017-12-28 23:36:43
阅读次数:
413
Student.prototype.siyou = function () { console.log('只是Student私有,Person访问不到') } Student.prototype.siyou = function () { console.log('只是Student私有,Perso ...
分类:
Web程序 时间:
2017-12-22 13:34:21
阅读次数:
153
原型继承 <script type="text/javascript"> function Father(){}//构造函数 //原型属性 Father.prototype.name = "李四"; Father.prototype.age = 24; //原型方法 Father.prototype ...
分类:
其他好文 时间:
2017-12-17 14:08:56
阅读次数:
105
JavaScript继承主要是通过原型链来实现。 简单回顾一下构造函数: 原型和实例的关系,每一个构造函数都有一个原型对象,原型对象都包含着一个指向构造函数的指针(这个通过原型对象中的constructor属性实现),而实例都包含一个指向原型对象的内部指针。 如果让原型对象等于另一个类型的实例,那么 ...
分类:
其他好文 时间:
2017-12-05 00:57:40
阅读次数:
139