加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

javascript匿名函数的写法、传参和递归

发布时间:2018-10-13 12:02:10 所属栏目:创业 来源:站长网
导读:本日在清算javascript入门培训的PPT时,提到了匿名函数,以是拿来分享下心得。 匿名函数的写法 顾名思义,就是没著名字的函数(⊙﹏⊙b汗)。匿名函数凡是用于javascript浸染域的节制,可以有用的停止对全局变量的污染。常见的匿名函数有下面四种写法,欢

本日在清算javascript入门培训的PPT时,提到了匿名函数,以是拿来分享下心得。

匿名函数的写法
顾名思义,就是没著名字的函数(⊙﹏⊙b汗)。匿名函数凡是用于javascript浸染域的节制,可以有用的停止对全局变量的污染。常见的匿名函数有下面四种写法,接待增补:

匿名函数写法一
(function(){
 //do something
})();匿名函数写法二
!function(){
 //do something
}();

上面!还可以写成+,!!等多种方法。
上面两种要领是我常用的,下面两种要领是google上找的,我没用过(好吧,我out啦)。

匿名函数写法三
(function(){
 //do something
}());匿名函数写法四
void function(){
 //do something
}();

适才微博上@朴灵 提出来:写法三最安详,压缩器材打包压缩后不会呈现上下文错误,譬喻第一种写法,假如下面的代码,未压缩之前是正常的,压缩后就不正常了,以是要严酷上下文的;题目,而第三种就不会呈现相同题目:

var a = function(){}
(function(){
 alert(1);
})();

上例中就呈现了错误,这就是由于a函数会把他后头的匿名函数作为参数传入a中,这也就表明白为什么有人风俗在匿名函数之前添加;了,就是为了防备上文没有严酷遵循javascript语法,遗漏;的题目。

匿名函数的传参
匿名函数可以通过下面的方法举办传参:

(function(win, doc){
 var $ = function(id){
  return doc.getElementById(id);
 }
 win.$ = $;
})(window, document);

匿名函数的递归

匿名函数中要引用自己,必要行使arguments.callee,下面是行使匿名函数实现的连乘。

(function(n){
 if(n <= 0){
  return 1;
 }else{
  return n * arguments.callee(n-1);
 }
})(4);

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读