博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《JQuery技术内幕》读书笔记——自调用匿名函数剖析
阅读量:6448 次
发布时间:2019-06-23

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

Javascript语言中的自调用匿名函数格式如下:

(function(){//do somethings})();

它还有另外两种等价写法如下:

//等价写法一(function(){//do somthings}());//等价写法二!function(){//do somethings}();

JQuery采用的是第一种写法

(function(window,undefined){    //...})(window);

自调用匿名函数创建了一个独立的作用域,从而与全局以及其他类库的作用域分开,互相不污染变量。

一、JQuery将window对象最为参数传入函数域,从而使window对象成为JQuery函数域的局部变量,这样做的好处是:

  1.访问局部变量比访问全局变量的代价花销低很多,JQuery访问局部window对象时,不必通过作用域链调回全局来访问,从而更加快速的访问window对象。这一点在以后开发类库的时候是很好的优化方式;

  2.代码压缩优化。被压缩后的代码如下:

(function(a,b){})(window);

二、JQuery的第二个参数是undefined。

与null不同,undefined并不是一个数据类型,而是一个预定义的全局变量(参照JavaScript权威指南44页),它是可以被修改的(并不是所有浏览器都支持)。JQuery将undefined作为参数传入函数域,一方面是为了代码压缩优化;另一方面是为了防止修改undefined的行为影响JQuery作用域,确保在JQuery作用域内,undefined就是undefined,不是被修改的其他值。

三、自调用匿名函数的分号不能省略

在JavaScript中,多行语句是可以省略单行句尾分号的,但是对于自调用匿名函数,不论是其之前的分号还是自身末尾的分号,最好都不要省略,如果省略可能会报错(尤其是在一些旧浏览器中)。

转载地址:http://mqowo.baihongyu.com/

你可能感兴趣的文章
CentOS安装及配置TFTP服务器
查看>>
基于用户投票的排名算法(三):Stack Overflow
查看>>
值类型与引用类型(上)
查看>>
Activiti-Explorer 用户名与密码
查看>>
Winform 调用WCF客户端,所有服务端方法在运行的时候均找不到(编译没有问题)...
查看>>
Entity Framework 5.0系列之Code First数据库迁移
查看>>
数据库相关知识
查看>>
日志服务器设计
查看>>
Xshell生成密钥key(用于Linux 免密码登录)
查看>>
滑动到底部或顶部响应的ScrollView实现
查看>>
自己动手丰衣足食之征服jQuery插件编写
查看>>
基于业务单元的开发与部署模式
查看>>
第二代支付系统专题之报文篇(一)小额支付报文完整版(含二代新增功能业务说明)...
查看>>
非侵入式监控PHP应用性能监控分析
查看>>
LoadRunner 技巧之 脚本设计
查看>>
English Contest -- My English History
查看>>
CentOS挂载NTFS盘符问题
查看>>
Hadoop - Kylin On OLAP
查看>>
浅议javascript的内存泄露
查看>>
数据仓库专题(4)-分布式数据仓库事实表设计思考---讨论精华
查看>>