Skip to content

Latest commit

 

History

History
40 lines (24 loc) · 1.69 KB

总体架构.md

File metadata and controls

40 lines (24 loc) · 1.69 KB

总体架构

设计理念

write less,do more

在前端的蛮荒时代,jQuery 的出现无疑是革命性的,它极大地提升了 js 的开发体验。

  • 浏览器兼容:IE 6.0+、Chrome、FireFox 3.6+、Safari 5.0+、Opera 等(现在的 2+、3+ 版本不在讨论范围内)
  • 链式语法、短小清晰的多功能接口。
  • 高效可扩展的 Css 选择器。
  • 丰富的插件。

总体架构

自执行匿名函数

为什么使用自执行匿名函数 ?

创建函数作用域,防止变量冲突。

为什么传入 window
  1. 在 jQuery 代码块中访问 window 可以直接在当前作用域找到,而不用从顶层作用域找,更快。
  2. 压缩代码时可以进行优化。
为什么传入 undefined
  1. window 快速访问。
  2. 压缩代码时可以进行优化。
  3. 防止 undefined 被重写。(虽然目前越来越多的浏览器已经保护了 undefined,但是为了兼容 IE 8-、Chrome 16.0.912.77-、FireFox 3.6.28-、Safari 4.0.2-、Opera 11.52- 的浏览器,传入 undefined 还是十分必要的,尤其是 IE 8,国内份额还有 15% 以上)
匿名自执行函数前后的分号
  1. 匿名自执行函数前一行没有分号,那么它的第一对括号会被当做是函数调用。
  2. 匿名自执行函数后没有分号,那么下一行跟着的自执行函数的第一队括号会被当做函数调用。
  3. 上面两个问题在代码 concat 的时候往往会出现,因此很多自执行匿名函数会在前后加上分号。jQuery 在前面没有加分号,主要可能是它希望其它的库或者用户能够保证 concat 时,前面的语句是有分号的。