`
20032334
  • 浏览: 34953 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript中的自执行匿名函数

阅读更多

格式:
      (function(){
          //代码
        })();
解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。
来个带参数的例子:
        (function(arg){
           alert(arg+100);
        })(20);
        这个例子返回120。
重要用途:可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许。
       (function(){
           function $(id){
                return document.getElementById(id);
           }
           function __addClass(id,className,classValue){
                $(id).style.className=classValue;
           }
           window['mySpace']={};
           window['mySpace']['addClass']=__addClass;
        })();
上面的例子就可以用这种伪命名空间封装并保护自己的所有函数、对象和变量。而且,由于它们位于同一个函数中,所以可以互相引用。为了对受保护的代码进行全局化,随后的一对括号告诉浏览器立即执行返回的匿名函数,而且在执行期间将__addClass()赋值给了window的一个方法,这样在外部只能执行addClass而__addClass被保护起来了。我可以这样调用它:mySpace.addClass('oneId','font-width','bold');

评论
2 楼 gwh_08 2012-04-13  
gwh_08 写道
兄弟,对style的设置那个好像有问题吧
  function __addClass(id,className,classValue){
                $(id).style.className=classValue;
           }
添加名字为className的样式,的写法这样些 $(id).style.className设置不到,无法完成将值className传递给$(id).style.className中的className,如果alert($(id).style.className)会弹出"undefined",正确的写法应该是$(id).style[className]=classValue;

补充:
而且,当样式涉及到连接符号“”时,首字母应该变为大写,去掉连接符号。以'font-width'为例,应该变为'fontWidth'否则为无效样式。
1 楼 gwh_08 2012-04-13  
兄弟,对style的设置那个好像有问题吧
  function __addClass(id,className,classValue){
                $(id).style.className=classValue;
           }
添加名字为className的样式,的写法这样些 $(id).style.className设置不到,无法完成将值className传递给$(id).style.className中的className,如果alert($(id).style.className)会弹出"undefined",正确的写法应该是$(id).style[className]=classValue;

相关推荐

    Javascript自执行匿名函数(function() { })()的原理浅析_.docx

    Javascript自执行匿名函数(function() { })()的原理浅析_.docx

    深入理解Javascript中的自执行匿名函数

    解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。 来个带参数的...

    Javascript自执行匿名函数(function() { })()的原理浅析

    匿名函数指没有指定函数名或指针的函数,自执行匿名函数只是其中一种,下文中称这种函数为:自执行函数  下面是一个最常见的自执行函数: // 传统匿名函数 (function() { alert('hello'); })();  这段...

    javascript笔记之匿名函数和闭包

    //匿名函数自执行 function(){ return function(){};//函数里的匿名函数 } [removed] 闭包 闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的常见的方式,就是在一个函数内部创建另一个函数,通过...

    JS匿名函数、闭包

    匿名函数,也称为拉姆达函数,是一种使用JavaScript...JavaScript中的匿名函数和闭包都是非常有用的特性,利用它们可以实现很多功能。不过,因为创建闭包必须维护额外的作用域,所以过度使用它们可能会占用大量内存。

    浅析Javascript匿名函数与自执行函数

    函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。 函数的定义,大致可分为三种方式: 第一种:这也是最常规的一种 function double(x){ return 2 * x; } 第二...

    JavaScript中立即执行函数实例详解

    ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因...

    avascript中的自执行匿名函数应用示例

    Javascript中的自执行匿名函数 格式: (function(){ //代码 })(); 解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号...

    Javascript中匿名函数的调用与写法实例详解(多种)

    Javascript中定义函数的方式有多种,函数直接量就是其中一种。如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数。好,看看匿名函数的如何被调用。 方式1,调用函数,得到返回值。强制...

    深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域

    匿名函数:没有实际名字的函数。 匿名函数的作用: 1、通过匿名函数可以实现闭包,关于闭包在后面的文章...本章节重点给大家介绍JavaScript 中的匿名函数((function() {})();)与变量的作用域,具体内容如下所示: 以前

    JavaScript中的立即执行函数表达式介绍

    我们习惯看到这样的匿名函数 ...相比于自执行匿名函数,立即调用函数表达式的意思来得更明确一些。 自执行函数有下面的这一些例子: 代码如下: function foo() { foo(); } 以及 代码如下: var foo = fu

    javascript自执行函数

    通过定义一个匿名函数,创建了一个“私有”的命名空间,该命名空间的变量和方法,不会破坏全局的命名空间。这点非常有用也是一个 JS 框架必须支持的功能,jQuery 被应用在成千上万的 JavaScript 程序中,必须确保 ...

    javascript自执行函数之伪命名空间封装法

    而且,自执行函数中一般都会有一个function() {}形式的匿名函数。 下面的代码在window对象中创建一个命名空间 mySpace,并把自执行函数中的方法封装在mySpace命名空间之下,以便于我们调用这个自执行函数中的一些...

    Javascript中匿名函数的多种调用方式总结

    Javascript中定义函数的方式有多种,函数直接量就是其中一种。如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数。好,看看匿名函数的如何被调用。 方式1,调用函数,得到返回值。强制...

    深入理解javascript中的立即执行函数(function(){…})()

    ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因...

    JS立即执行的匿名函数用法分析

    本文实例讲述了JS立即执行的匿名函数用法。分享给大家供大家参考,具体如下: ;(function() {})(); 1.他叫做立即运行的匿名函数(也叫立即调用函数) 2.当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名...

    Javascript中的回调函数和匿名函数的回调示例介绍

    [removed] /* * 匿名函数自调的意义: 1.营造了一个封闭的空间 2.防止变量冲突 3.有选择性的对外开发(第三方框架都是对js这样封装的) */ //==================普通函数回调================================= //...

Global site tag (gtag.js) - Google Analytics