博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript中的自执行匿名函数
阅读量:6332 次
发布时间:2019-06-22

本文共 695 字,大约阅读时间需要 2 分钟。

转载于:

格式:

      (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');

你可能感兴趣的文章
Django-rest-framework 接口实现 ModelSerializer 使用
查看>>
NLPIR-ICTCLA2018分词用户大会线上抢票报名开始
查看>>
排序算法复杂度/稳定性总结
查看>>
JDBC篇:简单实现
查看>>
2016-7-14(日)
查看>>
AE基础知识之地图浏览
查看>>
Entity Framework code first 手动修改数据库的问题
查看>>
GDB + gdbserver 远程调试mediaserver进程
查看>>
构建之法第八章学习心得
查看>>
【leetcode】Largest Plus Sign
查看>>
【leetcode】421. Maximum XOR of Two Numbers in an Array
查看>>
SVN服务器搭建和使用(一)
查看>>
O009、KVM 网络虚拟化基础
查看>>
Oracle12cWindows安装、介绍及简单使用(图文)
查看>>
【洛谷 P4437】 [HNOI/AHOI2018]排列(贪心,堆)
查看>>
系统开发总结教训1
查看>>
jQuery制作div板块拖动层排序
查看>>
计算机的本质
查看>>
赞一下老北京人的指路精准度
查看>>
面试总结之 树
查看>>