读书笔记
阿超就是我
想要做运维的切图仔。
展开
-
《JS高级程序设计》第6章读书笔记:创建对象(三)再探原型
1 前言其实,在 上一篇博客:《JS高级程序设计》第6章读书笔记:创建对象(二)原型模式和组合模式,我们讨论了原型了模式,但是关于原型,我们还没讲完。这一节,我们讨论原型的一些细节。2 原型与in操作符在单独使用in操作符时,如果能够通过对象访问给定属性,无论是是通过原型还是实例,则会返回truefunction Person() {} Person.prototype.name = 'Nichol原创 2017-08-24 23:56:00 · 382 阅读 · 0 评论 -
《JS高级程序设计》第6章读书笔记:对象继承(一)原型链
1 前言我前后写了3篇博文阐述创建对象的4种方式。更为可怕的是:《JS高级程序设计》阐述6种对象的方式,虽然其中只有一种方式是常用的。学习了这部分内容,我觉得,如此繁杂的继承方式,即使当初创造JS的作者也会觉得吃惊。2 原型链(继承)原型链自然是基于原型的。我在之前的博客:JS高级程序设计》第6章读书笔记:创建对象(二)原型模式和组合模式以及《JS高级程序设计》第6章读书笔记:创建对象(三)再探原型原创 2017-08-25 22:39:24 · 556 阅读 · 0 评论 -
《JS高级程序设计》第6章读书笔记:创建对象(二)原型模式和组合模式
1 前言JS的OO(面向对象)之所以与一般OO语言不同,一个关键原因在于JS多了原型,也就是prototype这个概念在这篇文章之前,你应该先读下面这篇文章:《JS高级程序设计》第6章读书笔记:创建对象(一)之工场模式和构造函数模式2 原型模式实际上,当我们创建函数时,函数都有一个prototype的属性,指向一个对象,这个对象被称为原型对象,这个对象的用途是:”包含可以由特定类型的所有实例共享的属原创 2017-08-20 14:13:55 · 476 阅读 · 0 评论 -
《JS高级程序设计》第6章读书笔记:对象继承(三)原型式继承和寄生式继承
1 原型式继承原型式继承时道格拉斯,克罗克福德在06年提出的一种新的继承方式。记住这个人,他还推广了另一种继承方式。现给出具体代码:function object(o) { function F() {} F.prototype = o; return new F(); }我们可以看到:在object函数内部,我们先创建一个临时性的构造函数,然后让这个构造函数的protot原创 2017-08-27 11:45:48 · 480 阅读 · 0 评论 -
《JS高级程序设计》第6章读书笔记:继承对象(四)寄生组合式继承
1 组合式继承的问题组合继承是JS最常用的继承模式,但是它也有问题,(OS:还有完没完了),就是无论在什么情况下,都会调用两次超类型构造函数。具体如何,请看代码:function SuperType(name) { this.name = name; this.colors = ['red', 'blue', 'green']; }SuperType.prototype.sayNa原创 2017-08-27 14:00:05 · 476 阅读 · 0 评论 -
《JS高级程序设计》第6章读书笔记:创建对象(一)之工场模式和构造函数模式
1 前言JS在诞生之初,正值Java火热,其作者创造JS是模仿Java,在很多地方又做了简化,被人称为玩具语言。但是它在创造对象,继承这方面又是如此复杂。就继承而言,就有6种方式。这是在我学习的其他语言,如Python, C++, Java中,我未曾见过的。不得不说,这真的很神奇。本文是要讲的创建对象的3种方式:工厂模式,构造对象模式和组合模式。这些内容我是第二遍看了,但是第一遍看是在今年3月份,我原创 2017-08-20 11:10:33 · 566 阅读 · 0 评论 -
《JS高级程序设计》第6章读书笔记:继承对象(二)借用构造函数和组合继承
1 借用构造函数为了解决原型链继承引起的不同实例共享引用类型值的问题,开发人员开始使用一种叫constructor stealing的技术,也叫做伪造对象或经典继承。这种技术的思想是:在子类型构造函数的内部调用超类型构造函数。看下面的代码:function SuperType() { this.colors = ['red', 'blue', 'green']; }function SubT原创 2017-08-26 11:24:58 · 504 阅读 · 0 评论