频道栏目
首页 > 程序开发 > web前端 > JavaScript > 正文
jquery第一行代码有意思的两点
2013-05-05 08:32:46      个评论      
收藏   我要投稿

且看jquery的第一行和最后一行代码

(function(window, undefined) {})(window);这种匿名结构我们屡见不鲜,今天要说的不是这个,而是第二个参数,jquery并没有给他传值,为什么?我们知道,没有传值的形参会被默认设置为window.undefined,那为什么jquery开发者没有使用window.undefined本身,而是使用一个形参替代呢?

想了一下,至少有两点值得这样做(欢迎补充):

1.undefined被设置为了局部变量,局部变量意味着直接在当前作用域中即可得到使用,不用再查找上级作用域链,减少搜索次数提高效率。
2.且看压缩后的代码,(function(a,b){})(window),undefined被很巧妙的替换成的b,而在后续的代码中,很多判断都用到了undefined,而此时用b就行了,代码量减少很可观。局部变量在压缩的时候会被简短字符替换,这样可以有效的减少压缩后的文件大小,所以很多局部变量被拉出来设置,不只是为了暂存结果,也有利于压缩。
 jquery代码有很多精巧有意思的地方,值得学习,都是使用语言本事,思想多重要。

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 一行 代码
上一篇:实现Javascript异步编程的4种方法
下一篇:Extjs4快速上手四——实现菜单
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站