当前位置:编程学习 > JAVA >>

jQuery1.0源代码分析之window.undefined(一)

 

要想通读jQuery的源代码并非易事。

最新的jQuery版本现在是v1.6.4,未压缩版一共是9000+行左右。即使是javascript很熟悉的程序员读起来也会很吃力,jQuery整个框架设计的很巧妙,错综复杂。

 

吾等小菜更是一下子很难读懂。所以,我建议可以先从jQuery1.0版本开始阅读,1.0版的代码不多,1800+行左右,注释很好。函数也不是很复杂,很容易理解。

 

读懂1.0版本以后,可以选择一个1.2.6来读,然后是1.3.2,或者是1.4.2,最后有时间来看1.6.x版本的代码。

 

 

jQuery1.0未压缩的代码可以在这里下载:

 

http://code.jquery.com/jquery-1.0.js

 

 

 

// Global undefined variable 

window.undefined = window.undefined; 

 

这句代码是什么意思呢?查阅了很多文档,才知道。

早期的浏览器undefined并不是全局变量,也就是说你不可以写像下面的代码来判断一个变量是不是undefined

 

 

if (a == undefined) { 

    alert('a is undefined!'); 

 

你必须写成

 

if (typeof a == 'undefined') { 

    alert('a is undefined!'); 

 

这样判断很麻烦的。所以window.undefined = window.undefined这句代码就是把undefined设为全局变量。

 

window本来是没有undefined属性的,所以window.undefined的值就是undefined,把undefined赋值给window.undefined属性,undefined就变成全局变量了。

 

 

现在的浏览器都没有这个问题了,估计这个是针对IE 6以前的浏览器。

 


作者 baozhifei
补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,