解析JS中定义Function的两种实用方法

本文向大家描述一下JS两种定义Function非常常用的方法,虽然两个种方式定义出来的function调用的时候结果一样,但是中间还是有区别的,相信本文介绍一定会让你有所收获。

站在用户的角度思考问题,与客户深入沟通,找到桐梓网站设计与桐梓网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册虚拟主机、企业邮箱。业务覆盖桐梓地区。

JS两种定义Function非常常用的方法

大家都知道Javascript有两个种定义Function的方法非常常用。

例如

 
 
 
  1. functiona(){alert("a")}
  2. vara=function(){alert("a")}

虽然两个种方式定义出来的function调用的时候结果一样,但是中间还是有区别的。举个简单的例子,假如我们要重定义a(),而且新的方法要继承a()里面所有方法并且进行其他扩展的话。就可以明显看到这两个方式的区别了。

1.首先,我们先建立一个临时的变量来存储a()

 
 
 
  1. varb=a;

然后,重新定义a()

***种方式:

 
 
 
  1. functiona(){
  2. b();
  3. alert("ok");
  4. }

第二种方式:

 
 
 
  1. a=function(){
  2. b();
  3. alert("ok");
  4. }

这是大家可以尝试发现。***种方式重新定义的a()会出现堆栈溢出的错误。而第二种方式却成功保留了原来a()所执行的脚本,成功alert出了"a""ok"的字样,说明a()的方法被重定义了。

这里就可以很明显区分两个方式的区别了。定义的顺序不同。

***种,刚开始其实没有重新定义a这个function而在里面执行了其本身。

第二种方式,a=function()这里没有执行到function里面的代码a已经被重新定义了。所以这里的重定义是有效的。

分享名称:解析JS中定义Function的两种实用方法
网页地址:http://www.csdahua.cn/qtweb/news1/293951.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网