欢迎来到天天文库
浏览记录
ID:30779858
大小:123.50 KB
页数:13页
时间:2019-01-03
《javascript继承学习心得总结_基础知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、javascript继承学习心得总结看了不少js继承的东西也该总结总结了。先说一下大概的理解,有不对的还望指正,也好更正一下三观。另外说明下,下面的例子并非原创基本就是改了个变量名啥的,有的甚至直接拿过來用的。js继承是用来干啥的:首先说js没冇真正的跟其他而向对象的语言一样概念的继承,js里边所说的继承是指模拟继承。具体js继承是干啥呢,刚开始做前端的吋候我是用来面试的(最早写些小效果的时候基本用不到,为啥要看呢,因为面试官很爱问这个问题啊),所以就看看大概的,面试时候能说个大概,在这个问题上算是面试党了。后來跟着慢慢的实际上虽然概念不是很明确也用到一些。真正是用
2、来干啥的呢,主要是用来复用我们之前写过的代码。比如写过一个功能,一个对象,或者用别人写的东西,我们要自己加点儿什么,总不能改人家的东西吧,直接继承过來用一下就好了,这才是继承的真正用途。js继承怎么实现:先不上代码,先说说想法。其实继承呢就是想办法把其他对象(js里边一切皆对象哈)的属性或者方法搞到我们口己的对象上,让我们口己的这个对象可以用0这也就达到复用的目的了。目的搞明门了,下面就是实现手段了。根据js的特性,实现无非就是以下几利方法的其小一和或者组合使用。1、构造函数,js好像没有严格的构造函数的定义,但是可以用new来创建新的对彖。构造函数据说也是严格的面
3、向对彖的语言实现继承的方法,那么js当然可以模拟一下了,所以学过oop语言的人们会最先想到这个。2、利用函数原型,利用原型链把两个对象链接起來,因为js原型链是比较独特所以想到这个也是很容易的。原型也分几种,就是把什么作为继承对象的原型,被继承对彖的原型或者被继承对彖的实例,或者直接被继承者。这儿种作为继承对象的原型得到的继承效果是不一样的。3、复制属性和方法,把被继承对象的属性或者方法统统复制克隆过來变成我们自己对象的屈性和方法就好了啊,我们就可以无比顺畅的用了。当然这个述分浅复制和深度复制两种情况。4、利用call和apply这两个方法,这两个方法比较神奇,可以
4、改变函数执行的上下文(this),所以利用这两个方法也可以实现对被继承对象的方法的继承复用。总的来js实现继承的途径大概就是这些,T•变万化的实现方法都是从这几种方法的基础上组合升级完善出来的,为毛大多数要组合使用呢,当然是因为使用单个方法实现的效果不太理想啊。当然可以根据自己项目中实际的需求选择使用哪种方式,只要满足自己的需求并没有说必须使用哪种方法去实现。就像说从北京去石家庄,最快当然是飞机啦。但是如果离机场远,算上到机场,从机场去市里,整体算下來还不如高铁快,那就口J以做高铁。又比如自己冇车可以开车,想要挑战一卜•还可以齡口行车,这个根据口己的实际情况來选就可
5、以。代码实现,下面结合代码说说上面的儿种实现方法,有些是从其他地方摘來的,加点儿注释啥的。看了不少JS继承的东西也该总结总结了。先说一下大概的理解,冇不对的还望指正,也好更正一下三观。另外说明下,下面的例子并非原创基本就是改了个变量名啥的,有的甚至直接拿过来用的。js继承是用来干啥的:首先说js没有真正的跟其他面向对象的语言一样概念的继承,js里边所说的继承是扌旨模拟继承。具体js继承是干啥呢,刚开始做前端的时候我是用来面试的(最早写些小效果的时候基木用不到,为啥要看呢,因为面试官很爱问这个问题啊),所以就看看大概的,面试时候能说个大概,在这个问题上算是面试党了。后
6、来跟着慢慢的实际上虽然概念不是很明确也用到一些。真正是用来干啥的呢,主要是用来复用我们Z前写过的代码。比如写过一个功能,一个对象,或者用别人写的东西,我们要口己加点儿什么,总不能改人家的东西吧,直接继承过來用一下就好了,这才是继承的真止用途。js继承怎么实现:先不上代码,先说说想法。其实继承呢就是想办法把具他对象(js里边一切皆对象哈)的属性或者方法搞到我们£1己的对象上,让我们口己的这个对象可以用。这也就达到复用的目的了。目的搞明口了,下面就是实现手段了。根据JS的特性,实现无非就是以下几种方法的其屮一种或者组合使用。1、构造函数,js好像没有严格的构造函数的定义
7、,但是可以用new来创建新的对象。构造函数据说也是严格的面向对象的语言实现继承的方法,那么js当然可以模拟一下了,所以学过oop语言的人们会最先想到这个。2、利用函数原型,利用原型链把两个对彖链接起來,因为js原型链是比较独特所以想到这个也是很容易的。原型也分几种,就是把什么作为继承对象的原型,被继承对象的原型或者被继承对象的实例,或者直接被继承者。这几种作为继承对象的原型得到的继承效果是不一样的。3、复制屈性和方法,把被继承对象的屈性或者方法统统复制克隆过来变成我们自己对彖的属性和方法就好了啊,我们就可以无比顺畅的用了。当然这个还分浅复制和深度复制两种情况。4
此文档下载收益归作者所有