博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的原型链家族将要崛起。
阅读量:5924 次
发布时间:2019-06-19

本文共 928 字,大约阅读时间需要 3 分钟。

听过一个观点。很多中国家庭都还有一个难以放下的久思想,要媳妇生个男孩做为家族的延续,但讽刺的是,现在很多年轻人连爷爷奶奶叫什么名字都不知道,更别说爷爷的爸爸、爷爷的爷爷叫什么了。

听一个同事讲,他们村里有个宗祠,里面收藏了一本家族谱,始于明末清初,里面记载着每一个村民的名字,姓氏“舒”,为了逃避清兵到一个穷山僻岭农耕女织,延续至今。 仔细想想建立个家族谱还挺重要的,就比如你去面试遇到一个同姓的面试官,查族谱一看,竟然第前十代是对兄弟,这种血浓于水的亲切感瞬间就上来了。

所以我试图创造个原型链模型家族,凡是我家族的人,都可以被称为object。为了保持家族的有序繁殖,我给部分族人一个职称function,和普通的族人相比,function们拥有一个可操控的族人(克隆原体prototype),function可以使用魔法new将自己的prototype的基因附加到一个新的普通族人身上,每个族人可以给自己增加新的特性,当然也包括function,但为了防止function肆意破坏基因传递,new魔法只可以萃取prototype的基因。

为了辨识族人,我给每个族人赋予了__proto__隐藏属性,此属性是用来告诉别人自己是由哪个prototype复制而生的,prototype同样也被赋予了__proto__

在我的家族里,我自称Object,设定为function型族人,我也操控着一个prototype,此prototype的基因是家族的最原始基因,为了区分他和别的prototype,我给他设定了一个高贵的__proto__属性null,表示这是家族基因的源头。

为了让族人们都可以了解自己的前世今生,我制造了instanceof魔镜,族人们对着魔镜问:“请问我身上有function xxx的基因吗”?魔镜就会顺着__proto__属性一层层的往下找,如果到了__proto__是null时还没找到,魔镜就会告诉你:“你没有此function xxx的基因”。当然,要是你对着魔镜问:“请问我身上有Object的基因吗”?魔镜会果断的告诉你:“当然有,他可是我们的神”!

为了让别人也可以拥有原型链模型家族,我决定公开出此模型的图片版本:

转载地址:http://zmavx.baihongyu.com/

你可能感兴趣的文章
Android菜单详解——理解android中的Menu
查看>>
[原] jQuery EasyUI 1.2.6源码、Demo合集、离线API
查看>>
view 背景透明
查看>>
基于mini2440的ov9650摄像头裸机测试
查看>>
HDU1702:ACboy needs your help again!
查看>>
对象androidandroid 开发中 如何取得ListView 的 每条Item 的对象
查看>>
怎样维护成功的开源项目
查看>>
mysql服务的启动和停止 net stop mysql net start mysql
查看>>
透过表象看本质!?之二数据拟合
查看>>
C语言数据结构----递归的应用(斐波拉契数列、汉诺塔、strlen的递归算法)
查看>>
ueditor 编辑器再thinkphp中使用 解决转义问题
查看>>
封装log4cp p
查看>>
Matlab学习------------带有右键菜单的GUI学习实例
查看>>
查看和修改Oracle数据库服务器端的字符集
查看>>
纯css3实现的鼠标悬停动画按钮
查看>>
08 comet反向ajax
查看>>
Java程序性能优化
查看>>
onWindowFocusChanged
查看>>
Nutch 是一个开源Java 实现的搜索引擎
查看>>
使用T-SQL找出执行时间过长的作业
查看>>