开始读 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 类被定义多次。