swfupload 源码阅读笔记一
开始读 swfupload.js 的代码, 顺便学习一下 javascript.
?
var SWFUpload;if (SWFUpload == undefined) { SWFUpload = function (settings) { this.initSWFUpload(settings); }; }?
首先需要了解的是 undefined 与 null 的区别。
undefined 是指一个变量已经被声明,但是并未赋值;而 null 则是一个变量被显示地赋值为 null。
详细参考这里
http://www.joeyjavas.com/2007/04/25/javascript-difference-between-null-and-undefined/
?
所以这里严格地讲应该是 ===, 而不是 ==. 因为 null == undefined.
?
<html> <head> <script type="text/javascript"> var a = 2; var a; if (a === undefined) { alert("a is undefined."); } else { alert("a is defined."); }? ? ? ? ? ? ? ? ? ? ? ? alert(a); </script> </head> <body> </body></html>?
返回 "a is defined." "2", 若注释掉 var = 2;则返回 “a is undefined.” "undefined"
?
所以这里是防止 SWFUpload 类被定义多次。
?
?
讲的很透彻呀,支持一下