JavaScript中我们可以借助原型实现继承。

例如
function baz(){
this.oo="";
}
function foo(){
}
foo.prototype=new baz();
var myFoo=new foo();
myFoo.oo;
这样我们就可以访问到baz里的属性oo啦。在实际使用中这个样不行滴,由于原型的共享特点(数据保存在了堆上),
所有实例都使用一个原型,一但baz的属性有引用类型就悲剧了,一个实例修改了其他实例也都跟着变了...wuwuwu
自然就有了组合式继承
function baz(){
this.oo="";
}
baz.prototype.xx=function(){
}
function foo(){
baz.call(this);//第二次调用
}
foo.prototype=new baz();//第一次调用
var myFoo=new foo();
myFoo.oo;
myFoo.xx;
这样就会有一个问题,代码里也表明出来了,baz会被调用两次,身为处女座的怎么可以允许呢..
插一句,第二种方式就不用出现第一种方式的问题吗?答案是不会的。
原因是属性的查找是先从对象自身开始,没找到才会去原型中去找,call时就把属性给继承了。
再插一句,那这样只使用call继承不就行了吗?如果不使用原型这个是可行的,但是作为处女座怎么能不使用原型呢,
在原型上方法是共享的,这样性能就好了很多呀。
寄生组合式继承
__extends=function (p,c){
function ctor(){
this.constructor=c;//赋值构造函数
}
ctor.prototype=p.prototype;
c.prototype=new ctor();
}
function baz(){
this.oo=[1];
}
baz.prototype.xx=function(){
}
__extends(baz,foo);
function foo(){
baz.call(this);
}
var myFoo=new foo();
myFoo.oo;
myFoo.xx;
这样不但解决了两次调用的问题,还解决了对象调用构造函数时调用的是真实的创建对象的函数而不是原型链上其他的构造函数。
代码里有表明。
构造函数是原型对象上的一个属性,是对象的创建者。由于我们的原型属性被从新赋值了所以构造函数时继承来的。
这里要说一下,对象是怎样创建,也就是new都干了些什么。
例如:
var a=new b();
其实是这样的,a={};创建了一个给a,然后b.call(a);call里初始化a,在call之前还有一步,就是a的内部原型对象
设置为b的原型属性指向的原型对象。原型上有构造函数属性,构造函数用来创建对象分配内存控件。
大概就这些...看看时间也不早了,碎吧,保持平和的心态切勿浮躁,努力去改变明天,希望一切都会慢慢变好。
以上就是小编为大家带来的全面理解JavaScript中的继承(必看)的全部内容了,希望大家多多支持脚步之家。
相关推荐:
seo是什么湖南岚鸿,seo是什么 湖南岚鸿 ,ai写作用什么好
seo学什么书籍好,seo值得学吗 如何建设网站游戏
揭秘汽车VPS定位器安装位置,车主必备知识!
SEO定价策略:如何根据企业需求定制最佳价格方案,营销网络推广询问d火18星来
SEO开发:数字营销的核心驱动力,装修公司如何做营销推广
VPS多端口使用指南,优势解析与操作指南
Hyper-V VPS管理系统深度解析,高效便捷,虚拟化部署的得力助手!
在电信机房上班怎么样?
seo理论是什么,seo概念的理解 销型网站建设
seo推广什么来的,seo推广的好处 ,ai印名字
做seo学什么技术好,seo好学吗 同安建设信息网站首页
seo指向是什么,seo指令和用法 顺义区大型网站建设检修
中外链:打通全球流量的桥梁,提升网站排名与流量的双重保障,seo网站优化课程推荐
SEO培训:助力企业实现互联网营销的无限可能,顶点蓝天seo
SEO表格:优化网站排名的秘密武器,seo监控精灵注册
CentOS 6.8上快速搭建VPS SS指南
seo需要懂什么源码,seo需要懂什么源码技术 ,体ai
理想中的机房怎么样?
seo站内优化推广是什么,seo站内优化内容 大秀网站怎么推广
农村通信电信机房怎么样?
SEO总结:如何通过优化提升网站排名与流量,烟台汽车网站建设
seo渠道是什么,seo的道与术 山东济南市网站建设
制冷机房工作怎么样?
seo网站编辑是做什么,seo网站编辑可在家兼职 ,suno ai授权
亚马逊产品seo什么意思,亚马逊平台产品专业术语 ,ai代销
香港纯IPv6 VPS,高效稳定的网络新选择,极速体验畅享无阻
SEO是什么发色好看,什么是seosem ,ai图片转位图填色
二SEO是什么,h二seo三是什么 ,ai怎么做3d材质
为什么做不好seo,为什么做不好的梦过后就真的会有不好的人骚扰 建设主题网站顺序图
什么是seo获客,获客saas 国内搜索网站排名优化
SEO短视:为何眼前的成效不能成为长久的策略?,海外营销推广教材
seo是什么必看,seo是干啥的 ,ai 诺诺
seo需要什么思维,什么叫seo思维 前端seo技术有哪些
SEO模块:提升网站排名,驾驭数字营销未来,seo连字符
揭秘真相,VPS是否需要实名制?
seo推广什么,seo推广有哪些 ,ai做svga动画
为什么说seo这么重要,seo重要吗 ,ai厂用的什么机芯
at机房过热会怎么样?
专业关键词助力SEO优化,让你的内容脱颖而出,房产营销推广费怎么算
SEO有点:揭秘优化之道,提升网站排名的秘诀,珠海网站优化经验
酒店带电脑机房怎么样?
什么是seo为什么要优化seo,为什么需要seo 沈阳网站建设模式开发
SEO字:如何通过精准关键词提升网站流量与排名,厦门优化seo
江山机房精密空调怎么样?
什么是seo优化基础,seo的基础优化 高密网站建设诚信企业
seo搜索矩阵平台是什么,seo搜索工具 ,小茗ai
什么是秀米?全方位了解这款微信公众号排版神器,Seo内链图解
SEO是什么以及全写,seo全称为 长宁区百度网站优化定制
SEO抢权:如何在竞争激烈的市场中占得先机,赫哥企业营销推广
华为机房电源系统怎么样?