学习JavaScript过程中,原型问题一直让我疑惑许久,那时候捧着那本著名的红皮书,看到有关原型的讲解时,总是心存疑虑。当在JavaScript世界中走过不少旅程之后,再次萌发起研究这部分知识的欲望,翻阅了不少书籍和资料,才搞懂__proto__和prototype的概念。故以作此笔记,日后忘了可 ...
分类:
编程语言 时间:
2016-09-27 17:40:14
阅读次数:
200
前面介绍了普通对象的原型链结构,下面会先介绍一下原型对象中的属性和方法,然后介绍函数对象的原型链,最后将原型链进行整合一下. 第一部分Object.prototype的属性和方法 1 Object.prototype.toString方法 因为Object.prototype顶级对象中定义了toSt ...
分类:
编程语言 时间:
2016-09-27 00:27:49
阅读次数:
151
今天遇到关于javascript原型的一道面试题,现分析下: 原题如下: function A(){ } function B(a){ this.a = a; } function C(a){ if(a){ this.a = a; } } A.prototype.a = 1; B.prototype ...
分类:
Web程序 时间:
2016-09-24 21:34:36
阅读次数:
211
今天遇到关于javascript原型的一道面试题,现分析下: 原题如下: function A(){ } function B(a){ this.a = a; } function C(a){ if(a){ this.a = a; } } A.prototype.a = 1; B.prototype ...
分类:
Web程序 时间:
2016-09-24 20:20:27
阅读次数:
164
我们就把这种形式称为“甘露模型”吧!其实,这种“甘露模型”的原型用法才是符合prototype概念的本意,才是的JavaScript原型的真谛! ...
分类:
编程语言 时间:
2016-09-18 13:38:35
阅读次数:
153
1、“一切都是对象”这句话的重点在于如何去理解“对象”这个概念。 ——当然,也不是所有的都是对象,值类型就不是对象。 函数也是一种对象。他也是属性的集合,你也可以对函数进行自定义属性。 2、每个函数一个属性——prototype。对,每个函数都有一个属性叫做prototype。 这个prototyp ...
分类:
编程语言 时间:
2016-09-17 19:16:42
阅读次数:
251
本文尝试阐述Js中原型(prototype)、原型链(prototype chain)等概念及其作用机制。上一篇文章(图解Javascript上下文与作用域)介绍了Js中变量作用域的相关概念,实际上关注的一个核心问题是:“在执行当前这行代码时Js解释器可以获取哪些变量”,而原型与原型链实际上还是关于 ...
分类:
编程语言 时间:
2016-09-08 23:16:34
阅读次数:
173
function A(){ this.name="zhangsan"; } A.prototype.getName=function(){ return this.name; } function B(){ this.age=20; } B.prototype=new A(); //子类型有时候需要 ...
分类:
编程语言 时间:
2016-09-06 10:29:12
阅读次数:
214
对于继承来说,主要目标就是将一些现有的功能据为己有。也就是说,我们在新建一个对象的时候,通常首先继承现有对象,然后再为其添加额外的属性和方法。 对此,我们可以通过一个函数调用来完成。 具体而言就是: 1. 使用原型继承的方式,将一个已有对象设置成新对象的原型。 2. 新建一个对象后,将另一个已有对象 ...
分类:
编程语言 时间:
2016-09-05 13:39:50
阅读次数:
151
JS是一门面向对象的语言,和其它面向对象的语言不一样的是,在JS中没有类的概念。接触过C++、Java的人都清楚,类实现了对象之间的属性和方法共享,而类的继承实现了类的复用。在JS中,通过基于原型的继承实现了以上的功能。 1 构造函数、原型和实例 在JS中,除了5种基本类型,其它都是对象,函数也是对 ...
分类:
编程语言 时间:
2016-08-30 12:13:48
阅读次数:
175