继承是面向对象编程中又一非常重要的概念,JavaScript支持实现继承,不支持接口继承,实现继承主要依靠原型链来实现的。
站在用户的角度思考问题,与客户深入沟通,找到康巴什网站设计与康巴什网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网站空间、企业邮箱。业务覆盖康巴什地区。
原型链
首先得要明白什么是原型链,玉溪北大青鸟建议可以在一篇文章看懂proto和prototype的关系及区别中讲得非常详细
原型链继承基本思想就是让一个原型对象指向另一个类型的实例
添加方法
在给SubType原型添加方法的时候,如果,父类上也有同样的名字,SubType将会覆盖这个方法,达到重新的目的。但是这个方法依然存在于父类中。
记住不能以字面量的形式添加,因为,上面说过通过实例继承本质上就是重写,再使用字面量形式,又是一次重写了,但这次重写没有跟父类有任何关联,所以就会导致原型链截断。
问题
单纯的使用原型链继承,主要问题来自包含引用类型值的原型。
借用构造函数
此方法为了解决原型中包含引用类型值所带来的问题。
这种方法的思想就是在子类构造函数的内部调用父类构造函数,可以借助apply()和call()方法来改变对象的执行上下文
传递参数
借助构造函数还有一个优势就是可以传递参数
近几年来,IT行业发展越来越好,使得Java工程师这一职业也成为行业热门,那么大家知道学习Java的具体内容是什么吗?java课程在这里带你了解一下北大青鸟Java工程师学习路线吧。
首先,关于北大青鸟Java学习路线大致分为四大阶段,从基础知识到高级技术可以说无不涵盖了每一位北大青鸟讲师的心血,再加上北大青鸟会定期邀请的资深技术官对项目的指导分析,因此打造成了一套独一无二的课程大纲,每一位学生都值得拥有!
第一阶段Java基础,通过对基础阶段的学习,有Java面向对象,常用基础类,线程I/O,异常处理等基础入门的知识点等。
第二阶段JavaWeb,是进阶阶段,掌握Java的基本语法,HTML5,CSS3,javascript,jQuery,JDBC连接池,servlet数据类型及各种运算符,开始可以写一些运算相关的程序。
第三阶段Java框架,框架是程序中另一种存储数据的方式,比直接使用数组来存储更加的灵活,在项目中应用十分广泛。同时,我们将深入研究其中涉及到的数据结构和算法,对学员的技术深度有了一个质的提升。
第四阶段Java+云数据,亿级并发架构演进、Linux基础、搭建tomcat环境以及大数据开发云计算等高级Java教程,是Java技术的高端知识。其中穿插项目实战演练,企业真实项目供学员应用学习,进行知识体系的“二次学习”。
随着互联网的不断发展,web前端开发技术的发展有了更多的变化趋势。下面我们就一起来了解一下,目前比较常见的一些web开发技术吧。
1.Vue.js
就在两年前,很难想象Vue.js能够忍受迅猛发展的React系统的竞争。经过深思熟虑且久经时间考验的Angular是一回事,但是Vue......我们没想到这个开发环境成为前端技术工具列表中的佼佼者。对于那些不熟悉Vue的读者,让我们简要介绍一下它的制胜之道。
,很容易学习并且拥有灵活的创建前端代码的环境,这使得代码编写的出错率较低。Vue的开发者EvanYou曾在Angular工作过。他确定后者对于UI的构建而言不必要且繁琐,他大胆地创建了一个入口门槛很低的前端创建解决方案,因此Vue出现。它旨在帮助那些编程经验很少的设计人员将所有工作都用于创建功能界面。此外,Vue.js支持声明式呈现,异步DOM更新,双向数据绑定,以及严格遵守Web组件规范和HTML模板的简单集成。
2.Angular
尽管我们在2018年看到的Javascript库的竞争趋势直接在Angular和Vue.js之间展开,但前者在来年的实用性不会减少。如果你之前还没有使用Angular工作(至少是使用Angular2),那么你一定要熟悉它的优点。让我们开始吧。
,这个框架需要Javascript与HTML和CSS。二,它是团队协作的理想选择,因为它创建的应用程序可以明确划分为组件-业务逻辑和前端。这是可能的,因为开发环境是基于MVVM(模型-视图-视图-模型)模式下的。三,Angular是创建可扩展应用程序的理想选择,支持与三方库的简单集成。这个框架经常用于构建动态的移动应用,因为它使用了双向数据绑定,这种方法增加了带有丰富动画元素的应用程序的响应能力。
现在,让我们来讨论一下Angular的缺点。一件事情,也是开发人员经常提到的,就是在移动设备上的高耗电量(不过与其他框架相比,通过正确的代码优化,可以减少这个问题)和高入门门槛(如果你是从头开始使用Angular开始工作,那么你要准备好去花费1.5到2个月的时间去学习它的大量文档)。那些喜欢“简洁”Javascript编码的开发者在刚接触Angular时
3.GraphQL
GraphQL是一种有着奇怪语法的API查询语言,由Facebook开发者们开发。它的目的是超越传统的RESTAPIs的功能,同时简化多个源传输的数据集合。
让我们举个具体的列子。想象一下,你需要在正在构建的社交网络框架中显示帖子列表,以及用户的喜好(点赞、收藏等)。在实现方面,这个例子很简单,你只需从下一个数据库端点发出请求。但是,由于这些数据可能来自不同的来源(例如,如果帖子存储在MongoDB或Redis中),生成的应用将比舒适的工作慢得多。此外,如果您考虑到,随着时间的推移,数据的大小会增加,因此需要更多的存储空间,你会意识到,RESTAPI迟早会耗尽其效率。这就是GraphQL的用武之地,使用GraphQL而不是使用单独的端点来访问每个资源。你可以使用单个端点,该端点能够同时处理涉及多个数据源的复杂查询。与REST模型相比,GraphQL是一个智能的个人助理,使用你指定的源地址,提供所需的内容。
4.Gatsby
如果你的预算比较紧张,但是同时又希望在你的项目中只使用高级技术,那么你一定要尝试Gatsby。Gatsby是KyleMatthews为静态网站的创建而构建的新型解决方案。
它如何优于同行?与Jekyll,Hugo或Hexo等流行解决方案不同,这个静态生成器不使用模板,而是信赖于Webpack和React组件(注意React官网本身也是在Gatsby的帮助下编写的)。因此,你可以获得自动更新和即时页面转换等优势。从1.0版本开始,Gatsby使用了上面提到的GraphQL。因此,在构建过程,它可以从多个GraphQLAPI中获得数据,然后使用它们创建一个完全静态的React客户端应用程序。现在,让我们从枯燥的特征列表转移到真正的问题,看看Gatsby是否适合你。
5.Storybook
Storybook是开发者在与React打交道过程中一个有用的开源工具。特别是,得亏StoryBook,你可以在独立的环境中设计和策划应用程序外的UI组件,并且在创建新的UI组件时它会发生变化。如果这个功能对你来说并不太重要,那么让我们考虑一下Storybook将帮助解决几个严重问题的情况。
今天,许多有用的工具支持简单快速地创建功能性客户端-服务器系统,包括着名的Meteor、Firebase、GraphQL和Falcor。电脑培训发现所有这些工具使编程过程基础化,应用程序可快速响应。虽然React及其热门的重加载功能对于UI创建的开发者来说是一个很大的帮助,但设计阶段仍然需大量的时间和编写不少代码行。
script language=vbScript
!--
public x(33)
x( 0 )="东城,西城,崇文,宣武,朝阳,丰台,石景山,海淀,门头沟,房山,通州,顺义,昌平,大兴,平谷,怀柔,密云,延庆"
x( 1 )="黄浦,卢湾,徐汇,长宁,静安,普陀,闸北,虹口,杨浦,闵行,宝山,嘉定,浦东,金山,松江,青浦,南汇,奉贤,崇明"
x( 2 )="和平,东丽,河东,西青,河西,津南,南开,北辰,河北,武清,红挢,塘沽,汉沽,大港,宁河,静海,宝坻,蓟县"
x( 3 )="万州,涪陵,渝中,大渡口,江北,沙坪坝,九龙坡,南岸,北碚,万盛,双挢,渝北,巴南,黔江,长寿,綦江,潼南,铜梁,大足,荣昌,壁山,梁平,城口,丰都,垫江,武隆,忠县,开县,云阳,奉节,巫山,巫溪,石柱,秀山,酉阳,彭水,江津,合川,永川,南川"
x( 4 )="石家庄,邯郸,邢台,保定,张家口,承德,廊坊,唐山,秦皇岛,沧州,衡水"
x( 5 )="太原,大同,阳泉,长治,晋城,朔州,吕梁,忻州,晋中,临汾,运城"
x( 6 )="呼和浩特,包头,乌海,赤峰,呼伦贝尔盟,阿拉善盟,哲里木盟,兴安盟,乌兰察布盟,锡林郭勒盟,巴彦淖尔盟,伊克昭盟"
x( 7 )="沈阳,大连,鞍山,抚顺,本溪,丹东,锦州,营口,阜新,辽阳,盘锦,铁岭,朝阳,葫芦岛"
x( 8 )="长春,吉林,四平,辽源,通化,白山,松原,白城,延边"
x( 9 )="哈尔滨,齐齐哈尔,牡丹江,佳木斯,大庆,绥化,鹤岗,鸡西,黑河,双鸭山,伊春,七台河,大兴安岭"
x( 10 )="南京,镇江,苏州,南通,扬州,盐城,徐州,连云港,常州,无锡,宿迁,泰州,淮安"
x( 11 )="杭州,宁波,温州,嘉兴,湖州,绍兴,金华,衢州,舟山,台州,丽水"
x( 12 )="合肥,芜湖,蚌埠,马鞍山,淮北,铜陵,安庆,黄山,滁州,宿州,池州,淮南,巢湖,阜阳,六安,宣城,亳州"
x( 13 )="福州,厦门,莆田,三明,泉州,漳州,南平,龙岩,宁德"
x( 14 )="南昌市,景德镇,九江,鹰潭,萍乡,新馀,赣州,吉安,宜春,抚州,上饶"
x( 15 )="济南,青岛,淄博,枣庄,东营,烟台,潍坊,济宁,泰安,威海,日照,莱芜,临沂,德州,聊城,滨州,菏泽"
x( 16 )="郑州,开封,洛阳,平顶山,安阳,鹤壁,新乡,焦作,濮阳,许昌,漯河,三门峡,南阳,商丘,信阳,周口,驻马店,济源"
x( 17 )="武汉,宜昌,荆州,襄樊,黄石,荆门,黄冈,十堰,恩施,潜江,天门,仙桃,随州,咸宁,孝感,鄂州"
x( 18 )="长沙,常德,株洲,湘潭,衡阳,岳阳,邵阳,益阳,娄底,怀化,郴州,永州,湘西,张家界"
x( 19 )="广州,深圳,珠海,汕头,东莞,中山,佛山,韶关,江门,湛江,茂名,肇庆,惠州,梅州,汕尾,河源,阳江,清远,潮州,揭阳,云浮"
x( 20 )="南宁,柳州,桂林,梧州,北海,防城港,钦州,贵港,玉林,南宁地区,柳州地区,贺州,百色,河池"
x( 21 )="海口,三亚"
x( 22 )="成都,绵阳,德阳,自贡,攀枝花,广元,内江,乐山,南充,宜宾,广安,达川,雅安,眉山,甘孜,凉山,泸州"
x( 23 )="贵阳,六盘水,遵义,安顺,铜仁,黔西南,毕节,黔东南,黔南"
x( 24 )="昆明,大理,曲靖,玉溪,昭通,楚雄,红河,文山,思茅,西双版纳,保山,德宏,丽江,怒江,迪庆,临沧"
x( 25 )="拉萨,日喀则,山南,林芝,昌都,阿里,那曲"
x( 26 )="西安,宝鸡,咸阳,铜川,渭南,延安,榆林,汉中,安康,商洛"
x( 27 )="兰州,嘉峪关,金昌,白银,天水,酒泉,张掖,武威,定西,陇南,平凉,庆阳,临夏,甘南"
x( 28 )="银川,石嘴山,吴忠,固原"
x( 29 )="西宁,海东,海南,海北,黄南,玉树,果洛,海西"
x( 30 )="乌鲁木齐,石河子,克拉玛依,伊犁,巴音郭勒,昌吉,克孜勒苏柯尔克孜,博 尔塔拉,吐鲁番,哈密,喀什,和田,阿克苏"
x( 31 )=""
x( 32 )=""
x( 33 )="台北,高雄,台中,台南,屏东,南投,云林,新竹,彰化,苗栗,嘉义,花莲,桃园,宜兰,基隆,台东,金门,马祖,澎湖"
function test(a,b)
dim num,x1,i
num =a.selectedIndex
x1=split(x(num),",")
b.options.length=ubound(x1)+1
For i = 0 to ubound(x1)
b.options(i).text =x1(i)
b.options(i).value = x1(i)
next
end function
--
/script
body
select name="a" size=1 onChange="vbscript:test a,b"
option value= 0 北京/option
option value= 1 上海/option
option value= 2 天津/option
option value= 3 重庆/option
option value= 4 河北/option
option value= 5 山西/option
option value= 6 内蒙古/option
option value= 7 辽宁/option
option value= 8 吉林/option
option value= 9 黑龙江/option
option value= 10 江苏/option
option value= 11 浙江/option
option value= 12 安徽/option
option value= 13 福建/option
option value= 14 江西/option
option value= 15 山东/option
option value= 16 河南/option
option value= 17 湖北/option
option value= 18 湖南/option
option value= 19 广东/option
option value= 20 广西/option
option value= 21 海南/option
option value= 22 四川/option
option value= 23 贵州/option
option value= 24 云南/option
option value= 25 西藏/option
option value= 26 陕西/option
option value= 27 甘肃/option
option value= 28 宁夏/option
option value= 29 青海/option
option value= 30 新疆/option
option value= 31 香港/option
option value= 32 澳门/option
option value= 33 台湾/option
/select
select name="b"
/select
拷贝到记事本.保存为.htm或.asp
思路是这样的,以省市联动为列,选了省后出现可选市,也就是说“市”的值在“省”值发生变动时由JAVA程序赋予相应的值。
script language="javascript"
var selects=[];
selects['xxx']=new Array(new Option('请选择城市……','xxx'));
//这里selects['1']里的1是和“省”下拉菜单中对应的。
selects['1']=new Array(
//下面赋值给省为1的市下拉菜单显示和值。
new Option('北京市','北京市')),
selects['30']=new Array(
new Option('昆明市','昆明市'),
new Option('大理白族自治州','大理白族自治州'),
new Option('东川市','东川市'),
new Option('保山地区','保山地区'),
new Option('德宏傣族景颇族自治州','德宏傣族景颇族自治州'),
new Option('迪庆藏族自治州','迪庆藏族自治州'),
new Option('楚雄彝族自治州','楚雄彝族自治州'),
new Option('临沧地区','临沧地区'),
new Option('怒江僳僳族自治州','怒江僳僳族自治州'),
new Option('丽江地区','丽江地区'),
new Option('曲靖地区','曲靖地区'),
new Option('思茅地区','思茅地区'),
new Option('西双版纳傣族自治州','西双版纳傣族自治州'),
new Option('文山壮族苗族自治州','文山壮族苗族自治州'),
new Option('红河哈尼族彝族自治州','红河哈尼族彝族自治州'),
new Option('玉溪地区','玉溪地区'),
new Option('昭通地区','昭通地区'));
function chsel(){
//非常重要的是,ListItemForSale是对应表单的名字,实际表单名是什么这里就是什么。
with (document.ListItemForSale){
if(szSheng.value) {
shucity.options.length=0;
for(var i=0;iselects[szSheng.value].length;i++){
shucity.add(selects[szSheng.value][i]);
}
}
}
}
/script
form name="ListItemForSale"
select name=szSheng onChange=chsel()option value=xxx selected请选择省份……/optionoption value=30 云南省/optionoption value=1 北京/option/select
select name=shucity id=shucity/select
/form
代码写到这里完了,你可以直接复制到页面中进行测试使用,HTML就行,不用支持到ASP,但然,有了这个思路你就可以用ASP从数据库里提出要联动的内容。
如果扩展使用上有什么问题可以给我留言。
网站栏目:玉溪javascript,玉溪人才网
URL链接:https://www.cdcxhl.com/article8/dsigeop.html
成都网站建设公司_创新互联,为您提供ChatGPT、品牌网站建设、定制网站、网站建设、标签优化、移动网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联