new做了些什么? 要创建 People 的新实例,必须使用 new 操作符。以这种方式调用构造函数实际上会经历以下 4 个步骤: 1. 创建一个新对象; 2. 将this 就指向了这个新对象;(同时还继承了该函数的原型) 将新对象 __ proto __ 指向 构造函数 prototype; 3. ...
分类:
其他好文 时间:
2019-08-22 23:33:37
阅读次数:
82
每个对象 都有 一个 .__proto__ 指向 所属类的原型 ,每个原型都会 有 一个 constructor 指向所属类 animal 的 .__proto__ 指向了 Animal 的 原型 每个原型都会 有 一个 constructor 指向所属类 实例的__proto__ 指向函数 的原型 ...
分类:
其他好文 时间:
2019-08-18 11:28:49
阅读次数:
95
前端 基础易错题(一) 案例一::介绍js原型链继承原理,以及prototype和--proto--的区别! 1.任何一个构造函数都有一个属性prototype叫做构造函数的原型,是一个对象,并且该对象默认情况下指向Object实例,constructor指向当前构造函数,--proto--指向Ob ...
分类:
其他好文 时间:
2019-08-17 01:19:12
阅读次数:
155
一、什么是原型 原型是Javascript中的继承的基础,JavaScript的继承就是基于原型的继承。 1.1 函数的原型对象 在JavaScript中,我们创建一个函数A(就是声明一个函数), 那么浏览器就会在内存中创建一个对象B,而且每个函数都默认会有一个属性 prototype 指向了这个对 ...
分类:
编程语言 时间:
2019-08-05 13:57:00
阅读次数:
85
三者的关系 * 构造函数可以实例化对象 * 构造函数中有一个属性叫prototype,是构造函数的原型对象 * 构造函数的原型对象(prototype)中有一个constructor构造器,这个构造器指向的就是自己所在的原型对象所在的构造函数 * 实例对象的原型对象(__proto__)指向的是该构 ...
分类:
编程语言 时间:
2019-08-04 10:24:45
阅读次数:
95
首先我们来看一下实例化一个对象做了浏览器做了什么事情 new的四步操作: 1. 创建一个空对象 2. 设置空对象的__proto__属性继承构造函数的prototype属性,也就是继承构造函数的原型对象上的公有属性和方法 3. 调用构造函数,将构造函数中的this替换为空对象的this,继承构造函数 ...
分类:
Web程序 时间:
2019-08-02 14:43:33
阅读次数:
188
我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法。(这个对象下面有个属性,这个属性是另外一个对象的应用 ,这个属性就是一个对象。) - prototype 是显式原型,它是指向函数的原型对象。(函数创建之后就会产生p ...
分类:
其他好文 时间:
2019-07-29 11:33:53
阅读次数:
95
四. __proto__ JS 在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__ 的内置属性,用于指向创建它的构造函数的原型对象。 对象 person1 有一个 __proto__属性,创建它的构造函数是 Person,构造函数的原型对象是 Person.prototy ...
分类:
其他好文 时间:
2019-07-29 09:57:44
阅读次数:
98
一、原型链继承【子构造函数的原型对象是父构造函数的实例】【对原型属性和方法的继承】1、每个构造函数【prototype】都有一个原型对象,原型对象中都包含一个指向构造函数的指针【constructor】,而实例都包含一个指向原型对象的内部指针【__proto__】。当原型对象等于另外一个类型的实例即 ...
分类:
Web程序 时间:
2019-07-18 23:57:05
阅读次数:
266
我们提到数组排序都会想到数组的sort方法,这个方法用起来的确很方便,其原理还是用到了我们的冒泡排序,sort函数接受一个参数,参数为一个函数,如果不指定参数,则按照则按unicode码顺序排列。 其实源码实现也不是很难,首先我们要知道的这是数组上的一个方法,肯定是写在数组构造函数的原型上,这样所有 ...
分类:
编程语言 时间:
2019-06-10 11:55:31
阅读次数:
143