javascirpt匿名自执行函数

转载 2012年03月29日 19:52:06

原文出处:http://ce.sysu.edu.cn/hope2008/worklist/ShowArticle.asp?ArticleID=9278

一直没完全看懂jquery.js的代码结构,现在了解了。自执行函数,原来还有这么个东西,js果然博大精深啊!

-------------仍然是分割线--------------------------------------------------------------------------------------------------------

 看很多的网站的js文件,要面对的第一函数通常是匿名自执行函数,形如(function(){})(),它的作用有两个,一是匿名,在java中有匿名内部类,作用类似。匿名的意思是没有声名函数的名字,这样就使得函数外部无法访问匿名自执行函数的内部,防止函数之间变量命名的相互干扰,比如说有两个人写了两个js,放在同个网页中,如果它们没有用匿名函数包裹,这两个js文件之间的函数会互相调用,导致错误的产生。

       那么如何访问匿名函数里面的函数呢?通常是在里面的函数或变量前加上window,这样该函数或变量就成为全局的了,在同个页面,即使是不同我js文件,也可以访问到,所以只要某个页面中加入jquery.js,那么其它js文件就可以用jquery(*)来访问jquery.js中的函数。

       匿名自执行函数的另外一个作用是自执行,其实只要在js文件中写在任何代码,只要不包括function类型,它都会执行,它的作用有点像onload,不过onload是在页面载入完后才执行,它不用,所以如果它要调用某个页面元素,一定要将这个页面元素放在匿名自执行函数之前,否则会产生错误。

       在jquery中,匿名自执行函数嵌套了匿名自执行函数,形如:

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

这样写的目前是实现自调用,匿名自执行函数里的匿名自执行函数可以调用上级的函数。这也有点像java,类内的变量和方法对内部类是透明的。所以a=function中a之前不用加window。

javascirpt 匿名自执行函数

定义: (function( window, undefined ) {})(window); Jquery插件定义: (function( $, undefined ) {})(jQuery); ...
  • stwuyiyu
  • stwuyiyu
  • 2013年07月19日 14:16
  • 730

javascript 匿名自执行函数

有一种匿名函数可以自动执行,这种函数定义如下:(function(){ //执行一些语句 })();也可以为函数增加参数,语法格式如下:(function(arg_1,arg_2,...arg...
  • ayinvany
  • ayinvany
  • 2016年07月25日 10:14
  • 782

匿名自执行函数是闭包吗?

匿名函数与闭包函数应该是不一样的,我看到网上很多人把匿名自执行函数当做闭包,我认为这是不对的, 闭包定义: 闭包是在一个函数中可以访问另外一个函数的作用域   闭包:    function  fun...
  • vuturn
  • vuturn
  • 2015年01月23日 17:19
  • 1995

JavaScript匿名自执行函数的用处

什么是匿名自执行函数?;(function () { /* 代码片段 */ )() 形如上面的函数就是匿名自执行函数,没有函数名所以是匿名函数,函数外围的第一对括号返回一个匿名函数...
  • a493113713
  • a493113713
  • 2017年03月04日 16:55
  • 214

杂七杂八JS :深入理解 函数、匿名函数、自执行函数

基础概念定义函数的方式   一般定义函数有两种方式:     1:函数的声明     2:函数表达式   函数的声明      关于函数声明,它最重要的一个特征就是函数声明提升,意思是执行代码之前先...
  • xixiruyiruyi
  • xixiruyiruyi
  • 2017年02月23日 08:48
  • 4250

C++匿名对象调用成员函数

看例子(VS2008成功测试): #include "stdafx.h" #include using namespace std; class Test { public: bool ...
  • liujiayu2
  • liujiayu2
  • 2015年12月02日 10:22
  • 439

匿名自执行函数

秒懂js匿名自执行函数
  • u014035057
  • u014035057
  • 2016年06月07日 11:39
  • 163

自我执行的匿名函数是如何工作的

在理解自我执行函数之前我们先理解一下函数声明函数,函数表达式,匿名函数他们之间的区别 运用function  fname(){.......}    //使用function关键字,然后指定...
  • MacGuffinBox
  • MacGuffinBox
  • 2016年12月22日 08:49
  • 429

js闭包的用途(匿名自执行函数,缓存,实现封装,实现面向对象)

文章转载自:http://blog.csdn.net/sunlylorn/article/details/6534610
  • cl61917380
  • cl61917380
  • 2014年10月17日 14:10
  • 2541

JS匿名自执行函数

1. 什么是自执行的匿名函数?    它是指形如这样的函数: (function {// code})();   2. 疑问   为什么(function {// code})();可以被执...
  • chaoowang
  • chaoowang
  • 2013年11月23日 16:24
  • 9336
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascirpt匿名自执行函数
举报原因:
原因补充:

(最多只允许输入30个字)