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以前的浏览器。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>