扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
JavaScript的重载函数,一般是靠对arguments判断来操作的。
创新互联建站专注于企业网络营销推广、网站重做改版、涉县网站定制设计、自适应品牌网站建设、H5高端网站建设、成都做商城网站、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为涉县等各大城市提供网站开发制作服务。
比如:
复制代码
代码如下:
var
afunc
=
function()
{
args
=
arguments;
if(args.length
==
1)
{
console.log(1);
}else
if(args.length
==
2)
{
console.log(2);
}else
if
(args.length
==
3)
{
console.log(3);
}
}
可以想象如果重载数量多的时候,要有多少的if-else判断啊(事实上重载数量应该不会太多吧)。
如果要对js函数进行重载,代码量肯定是多的。那么能不能想办法使代码清晰点,再减少那些相同代码的书写呢?
这就是我写篇文章和相关代码的起因了。
惯例先上代码:
复制代码
代码如下:
/**
KOverLoad
一个创建重载函数的辅助方法。
其实这个方法只是帮忙整理了参数不同的情况下的重载方法。
如果还要对参数类型进行判断重载的话,请在提供的方法中自己实现。
@Author
ake
2010-05-02
@weblog
*/
var
KOverLoad
=
function(scope)
{
this.scope
=
scope
||
window;
//默认添加方法到这个对象中。同时添加的方法的this指向该对象。
this.list
=
{};
//存放重载函数的地方。
return
this;
};
KOverLoad.prototype
=
{
//添加一个重载的方法。
//@param
argFunction
重载的方法。
add:function(arg)
{
if(typeof
arg
==
"function")
{
this.list[arg.length]
=
arg;
//以参数数量做标识存储重载方法。很显然如果你的重载方法参数数量
}
return
this;
},
//添加完所有的重载函数以后,调用该方法来创建重载函数。
//@param
fcString
重载函数的方法名。
load:function(fc)
{
var
self
=
this,
args,
len;
this.scope[fc]
=
function()
{
//将指定作用域的指定方法
设为重载函数。
args
=
Array.prototype.slice.call(arguments,
0);
//将参数转换为数组。
len
=
args.length;
if(self.list[len])
{
//根据参数数量调用符合的重载方法。
self.list[len].apply(self.scope,
args);
//这里指定了作用域和参数。
}else{
throw
new
Error("undefined
overload
type");
}
}
}
};
使用
方法是我觉得比较清晰的方法:
//这是可选的作用对象。
复制代码
代码如下:
var
s
=function(){}
s.prototype
=
{
init:function()
{
console.log();
}
}
//构造函数的参数可以是Object类型的或者其他合法的类型,如果不指定,则注册到window对象中,并且作用域也是window。其实就是添加该重载方法到什么地方而已。
复制代码
代码如下:
new
KOverLoad(s.prototype).add(function(a)
{
console.log("one",a,this)
})
.add(function(a,b)
{
console.log("two",a,b,this)
})
.add(function(a,b,c)
{
console.log("three",a,b,c,this)
})
.add(function(a,b,c,d)
{
console.log("four",a,b,c,d,this)
})
.load("func");
//在这里的参数就是要创建的重载函数的方法名称。
完成以上操作以后,s.func就是一个重载函数。
我们可以这样调用重载函数:
复制代码
代码如下:
var
t
=
new
s();
t.func();//抛出错误异常。因为没有指定零参数时的函数
t.func(”o”);//one
o
Object
{}
t.func(1,2);//two
1
2
Object
{}
简单的代码而已,如果各位有建议或者意见,欢迎留言指教。
计算机专业语言。
简单来说,就是编写编定程序,让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解人的想法,人类通过某种方式,将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉它,让计算机完成人的指令。
Javascript Plus 为一小巧的 Javascript 角本程序辅助编程工具. 它的特点包括: 用不同的颜色显示语法和关键词, 有稍许的程序输入预测功能, 测试运行子程序等等. Javascript Plus是一款功能强劲的javascript文本编辑器。内置的智能系统能够提示你 - 各种Javascript物件、性质和触发事件, - 各种Html和Sheets Style - 各种物件定义和函数定义 - 内建FTP功能 - 图片浏览 - 输入/输出函数 - 使用HTML菜单插入html编码 - 运行和测试javascript - 支持宏指令等。
今天小编要跟大家分享的文章是关于成为web前端工程的必备基础技能。正在学习web前端知识和准备学习的小伙伴们;来和小编一起看一看吧,希望本篇文章能够对小伙伴们有所帮助。
一、HTML5
HTML是超级文本标记语言,是为“网页创建和其他可在网页浏览器中看到的信息”设计的语言。HTML5是由万维网发布的最新的语言规范,是开放的Web网络平台的奠基石,所以做Web前端,精通HTML5是必须要掌握的一项技能。
二、CSS3
CSS用于控制网页布局和样式。CSS即层叠样式表(CascadingStyleSheet)。
在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。
只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。CSS3是CSS技术的升级版本,CSS3语言开发是朝着模块化发展的。以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多新的模块也被加入进来。这些模块包括:
盒子模型、列表模块、超链接方式、语言模块、背景和边框、文字特效、多栏布局等。CSS3对于Web前端整个页面的设计是必备的技能。
三、JavaScript
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能,为用户提供更流畅美观的浏览效果。掌握了JavaScript,你就可以给你的网页增加各种不同的动态效果,比如百叶窗特效,广告切换特效,浮动广告特效,上下无缝滚动特效等等。
四、JQuery
JQuery,顾名思义也就是JavaScript和查询(Query),即是辅助JavaScript开发的库。它是轻量级的JS库
,它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera
9.0+),JQuery2.0及后续版本将不再支持IE6/7/8浏览器。JQuery使用户能更方便地处理HTML、EVENTS、实现动画效果,并且方便地为网站提供AJAX交互。熟练掌握JQuery会让你更好的使用JavaScript。
五、AJAX
AJAX即“AsynchronousJavaScriptAnd
XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,对网页的某部分进行更新。AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑C/S环境的外部和使用AJAX技术来重定型MVC边界。最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。实现网站交互必须熟练掌握AJAX。
六、BootStrap
Bootstrap,来自Twitter,是目前很受欢迎的前端框架。Bootstrap是基于HTML、CSS、JavaScript
的,它简洁灵活,使得Web开发更加快捷。它由Twitter的设计师MarkOtto和Jacob
Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking
News都使用了该项目。国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。Bootstrap中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮、功能完备的网站。其中包括以下组件:下拉菜单、按钮组、按钮下拉菜单、导航、导航条、路径导航、分页、排版、缩略图、警告对话框、进度条、媒体对象等。时刻学习最近的前端框架也是Web前端工程师的必备技能哦!
以上就是小编今天为大家分享的关于成为web前端工程的必备基础技能的文章,希望本篇文章能够对想要学习web前端知识的小伙伴们有所帮助。想要学习web前端知识的小伙伴们如果不知道怎么学习可以来北大青鸟学习web,北大青鸟提供专业的web前端技术培训,北大青鸟Web前端课程,紧跟时代步伐,来源于企业需求,帮助同学更好更全面的掌握web前端技术。疫情期间提供线上培训课程,让你足不出户掌握最新的web技术。
1、打开Edge浏览器。
2、在地址栏中输入about:flags按回车键打开。
3、在启用实验性 JavaScript 功能中不要选中即可,如果有选中,点击取消即可。
edge浏览器的使用技巧
一 :如何使Edge浏览器更流畅。
1、在浏览器地址栏输入about:flags出现开发者设置页面。
2、在开发者设置找到并勾选:启用实验性JavaScript功能,启用asm.js和启用实验性辅助功能三个选项。
3、重启浏览器即可。
二:涂鸦和笔记功能
1、点击右上角的书写按钮可进入书写涂鸦模式。
2、可以直接在页面上涂鸦、书写笔记,还可以截图分享。
3、可以清除笔记也可以截图分享。
三:Edge浏览器与小娜进行了集成。
1、在浏览器中右上角打开设置。
2、在设置里面选择高级设置。
3、开启让小娜在浏览器中协助我功能。
4、选中搜索文字右击选择询问小娜,即可查看小娜搜索结果。
学习JavaScript的最佳方法分享
学习新的东西是件可怕的事。对我来说,掌握一项新技能最大的问题是,我不知道自己懂什么。鉴于此,定个计划,学习你感兴趣的东西应该会有用。这篇文章的主旨就是:你为学习JavaScript 制定的蓝图、路线、行动计划!你不必担心找不到最好的资源,先整理些好的资源,再确定下一步该学什么。遵循它,一步一步来。
任务0:了解什么是JavaScript
在你真正开始学习JavaScript 之前,花一分钟了解一下什么是JavaScript,它有哪些功能。 JavaScript不是jQuery、Flash或Java。与它们不同,它是一种独立的编程语言。 JavaScript 是浏览器语言(尽管现在不完全是)。主要目的是给静态页面增加交互性。在浏览器里,它不会为你更换PHP或Ruby,也不会更改你的HTML或CSS;你可以把它们串在一起使用。另外,它没有你想的那么难学。 补充说明:你应该听过jQuery,它可能是被使用最广泛的JavaScript 库。也许你还听说过其他比较流行的JavaScript 框架,比如Mootools,,YUI,Dojo 等等。可以将它们统一看做JavaScript辅助工具集;当你使用它们的时候,你还在写JavaScript,但都是些很抽象的JavaScript。它会让你事半功倍。 “你甚至可能听到有人说,你应该先学jQuery(或其他库)再学JavaScript。我很尊重他们但完全不同意这种说法。先把JavaScript 学好再用其他库,你会发现你会做的更好;结果就是,你会编写更好的JavaScript。”
任务1:通过Codecademy.com站点的课程来学习
Codecademy是一个相对较新的网站,其广告语是“最易学的编码方法”。目前,该网站仅有两个课程,“初级编程”和“JavaScript快速入门指南”。沉浸在JavaScript 中是种不错的体验。跟 Try Ruby 练习非常相似,你会学到简短的课程、在浏览器里编码,然后看结果。得到全部分数、打开成就徽章。(Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言。) 如果你已熟悉了另一种编程语言,你也许可以先学“JavaScript快速入门指南”;如果这是您第一次编程(HTML和CSS除外),你会发现“初级编程”课程相当有用。Codecademy是一家免费网站,但需要注册。
任务2:appendTo 截屏方法
appendTo 视频有一套特别适合初学者的截屏方法。 如果你想用正确(容易)的方法学习JavaScript,学习这些课程绝对管用。视觉训练总是有效的! “用我们提供的点播内容、务实的训练解决方案来提升自己的技能。无需注册、无需绑定、绝不忽悠。”
任务3:阅读一本好的关于JavaScript 的说明书
一旦你通过Codecademy上的课程来学习,你就会想搞到一本关于JavaScript的详细说明书–介绍所有的类型、运算符、控件架构等等。 如果可以的话,我来介绍几个好的说明书: 《再说JavaScript》 – 这本说明书可在Mozilla开发者网络上找到,语言公正。这本书内容很丰富,有很多代码实例和文段介绍。 《Eloquent JavaScript》 – 该书由Marijn Haverbeke 编写,可免费在线阅读,如果你想弄个硬拷贝可以上亚马逊网站购买。它比MDN说明更详细,因为它不仅涵盖了JavaScript 语言,而且包括编码风格以及在浏览器里使用JavaScript。当然,“eloquent”并非言过其实。(eloquent - 雄辩的、口若悬河的) 《Getting Good with JavaScript》 – 没错,这本书是我写的,但是我介绍这本书是另有原因的。它跟我在前面介绍的两本说明不同;在这本书里我只介绍了编程人员快速掌握编程技巧所需要的部分。此外,它还附带超过6个小时的截屏视频,因此,想要就去看看吧。(当然,这本不是免费的。)
任务4:安装、学习Firebug(或开发人员工具)
一旦你开始在浏览器里使用JavaScript,就需要安装Firebug并熟悉它的性能。Firebug是一款用于Firefox的插件,它能帮你创建和调试网页:对网页开发者来说,它就像外科医生的‘手术刀'。如果你不用Firefox?喜欢Safari 或者Chrome怎么办?没问题:可以查找类似Firebug的内置开发人员工具。 “你可以在Mac地址栏里按选项+命令+I 或者按快捷键Control + Shift + I ,来打开设计工具面板。” 通过打开你选的工具,只需在你喜欢的其中一个网站上点击点击,你就会学到很多东西。这里有一些能加速你学习的资源:FirebugFirebug网站和维基百科Firebug的CSS-技巧说明你应该在Nettuts+上使用Firebug的10大理由。Firebug:从白带到黑带,Tuts+ Marketplace 网站()设计工具设计工具网站Google I/O 2011:由Paul Irish重组的浏览器设计工具Google 浏览器设计工具:Paul Irish 的快速开发12技巧
任务5:读一本有关JavaScript的书籍
现在你已经熟悉了些基础知识,但是还有很多东西要学。尽管我推荐的一些书可能会让你‘破产',但你会发现任何时候我都会推荐4本高质量的书:
前两本是一般的、较深入的JavaScript 资源,它们会让你从简介到较深层次逐步理解;当然,简介里会有一些重叠的说明,但不多:刚好让你看起来很舒服。(注:虽然这些书在亚马逊网站能买到,我已经链接了出版商的网站,因此,你能看看范例章节。) 《JavaScript高级程序设计》- Nicolas C. Zakas 编写,这本书涵盖了它能涵盖的所有内容。如果你以前看过Zakas的任何作品,你会发现他是个不折不扣的天才。除了涵盖了JavaScript语言,这本书还能让您在浏览器里很好的使用JavaScript。 《JavaScript 24-hour Trainer 》由Jeremy McPeak 编撰,该作者也写过Nettuts+。它不仅仅是一本书:还附带了一张长达四小时的教学光碟。全书共43节课,涉及编码句法指导和代码优化。 虽然这些书非常适合编程人员学习JavaScript语言以及如何在浏览器中使用这些语言,但是学无止境。虽然这些书的确进入了一些模式和实练中,我再推荐两本我认为有用的书。1)《JavaScript Patterns 》- Stoyan Stefanov著。我也是刚刚读完这本书,我真希望能尽快读完它。在读过上面的资源之后,你可以学到如何编写JavaScript,但是这本书会教你如何对资源进行重组,这项技能很重要,并非如你想象般简单。2)《JavaScript:The Good Parts 》- Douglas Crockford 著。该书介绍了JavaScript的优缺点。
任务6:做些事情!
在学习完上述资源后,你应该已经尝试了一些代码样本:修改代码、整合代码看看会怎么样。但是是时候让自己休息一下,做点东西出来了。 你能做什么呢?你能做很多东西。这里有一些意见。1) 图片库:显示一套图片缩略图和主图。当用户点击缩略图的时候,要用较大的缩略图(不是原缩略图)替代当前的主图。如果你能覆盖缩略图alt 标记的标题就奖励积分,或是在用户一分钟内未点击的时候进行图片循环。2) 待办列表:听起来有点难,我也不打算推荐你制作一个完整的待办列表。只需要做一个文本框并在其旁放上按钮;点击按钮的时候,已输入的文字会在一个无序列表下面变成一个项目。点击列表项目便可移除。这听起来很容易,但有几个陷阱,对初学者来说仔细想想还是很有好处的。3) 动画框:动画其实是小把戏而已,并不需要弄得太复杂。做一个包含了少许文本的div,其上要有若干按钮。一个按钮用来调整宽度,一个用来调整高度;还有一个用来调整背景颜色。关键是不要让更改发生得太快,但在一秒钟之内。记住,Google 是你的朋友,特别是如果迄今为止你还未用JavaScript做任何动画的话。 我相信你能想到其他的很好的练习的计划。当然,学习的唯一方法是把自己从安乐窝里拽出来。“此外,在所有的技能水平上,确保JavaScript 类别在Nettuts+上有大量教程列表。”(Nettuts是一个专注于提供网络开发教程的网站。)
任务7:开始学习如何使用JavaScript库
如果你学到了这个地步,就会意识到有些JavaScript 编写任务很难(或根本不能)通过跨浏览器的方式实现。最可能违规的便是过量的DOM操作,AJAX和动画。这也就是为什么我们需要JavaScript 库的原因。 正如我前面提到的,一个JavaScript 库的详细内容犹如减轻痛苦的蜜糖。因此,现在有必要来看一下。这里有大量库供你选择,我会让你自己决定从哪个开始。无论是jQuery 还是Mootools,YUI 还是Dojo,它们各自的网站会为你提供开始学习时你所需要的一切信息。如果你觉得用得着就来试试吧。 最流行的库: 虽然很容易得到大量的库,你还是应该选一个受欢迎的– 至少排名第一。 jQuery Dojo YUI MooTools Prototype
任务8:紧随大师的步伐
有很多令人难以置信的JavaScript 天才,他们一直在做些很酷的东西,你一定不想错过。值得庆幸的是,我们的工作狂Siddharth 副主编已经搞到一份33名设计人员列表,要想成为一名JavaScript 发烧友你就必须订阅它。扔下手头的工作,订阅/跟随这些设计人员。这是必须要做的。 但是,你还能做更多事情。这个公平网站经常发布关于JavaScript 的信息,所以不要走开。此外,关注JavaScript Show ,一档全世界关于JavaScript最新最大的播客。你可能还想注册JavaScript电子周刊简讯。 还想要更多吗?关注Tuts+Marketplace 的JavaScript 类。
最后undefined 感谢阅读此文!真诚的希望它能帮你成为一名JavaScript 爱好者。如果你已对JavaScript 很熟悉,你可以在评论中推荐其他任何相关资源。
其它资源
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流