SWFUpload.prototype.initSWFUpload = function (settings) {
try {
this.customSettings = {}; // A container where developers can place their own settings associated with this instance.
this.settings = settings;
this.eventQueue = [];
this.movieName = "SWFUpload_" + SWFUpload.movieCount++;
this.movieElement = null;
// 略
注意:
SWFUpload.movieCount 是在 SWFUpload.prototype.initSWFUpload 语句之后定义的,
SWFUpload.movieCount = 0;
也就是说,要么,prototype.initSWFUpload 只是注册声明的作用,并没有被执行;要么,静态成员的初始化要先于对象成员的初始化。
做一个实验:
<html>
<head>
<script type="text/javascript">
//var a = 2;
var a;
if (a === undefined) {
alert("a is undefined.");
a = function(){this.initA();};
alert(a);
} else {
alert("a is defined.");
}
a.prototype.initA = function () {
this.count = ++a.start;
alert("initA: a = " + this.count);
};
alert("before assignment of a.start");
a.start = 0;
var b = new a();
</script>
</head>
<body>
</body>
</html>
执行结果是:
a is undefined.
function () {
this.initA();
}
before assignment of a.start
initA: a = 1
这个只是验证了 “prototype.initSWFUpload 只是注册声明的作用,并没有被执行”。同时说明 a = function(){this.initA();}; 只是定义了 a 这个类,而不是真正的初始化;只有 var b = new a(); 才是真正的初始化。
将 a.start = 0; 替换到 var b = new a(); 后面,则显示
initA: a = NaN
所以静态成员必须人为地放到相关的 public 对象的初始化之前。
// ---------------------------------------
补充参考,关于javascript 类定义中,private, privileged, public, static member 的实现:
http://robertnyman.com/2008/10/14/javascript-how-to-get-private-privileged-public-and-static-members-properties-and-methods/
分享到:
相关推荐
SWFUpload是一个流行的JavaScript库,它允许网页在后台无刷新地上传...这个压缩包中的"SWFUpload.swf"很可能是经过修改以支持QTP的源代码版本,对于使用QTP进行Web应用测试的开发者来说,这是一个非常有价值的资源。
实例与源代码 提供的压缩包中,可能包含了实现上述功能的示例代码。`stcaiyun.ttf`可能是用于字体渲染的资源,而`7880.com.txt`可能是包含示例说明或配置信息的文本文件。根据这些资源,你可以更深入地学习如何...
【PHP版SWFUpload源码(可获取上传文件名)】是一个基于JavaScript和Flash的文件上传组件,适用于PHP环境。SWFUpload是一个流行的开源项目,它允许用户在后台批量上传大文件,同时提供了友好的用户体验。这个特定...
这个2.5版本的源代码和release包含了对XSS(跨站脚本攻击)的修复,以及对核心组件`swfupload.js`的优化,提升了整体的安全性和性能。 首先,我们来深入了解SwfUpload的工作原理。SwfUpload使用Flash技术,创建一个...
这个"SWFUpload文件上传源码ASP"是针对ASP(Active Server Pages)开发的,旨在为ASP应用程序提供一个用户友好的多文件上传解决方案。下面将详细阐述SWFUpload的工作原理以及如何在ASP环境中集成和使用它。 1. **...
在实际开发中,开发者需要下载SWFUpload v2.2.0.1 Core这个压缩包,解压后会包含SWFUpload的JavaScript库、Flash电影(.swf文件)、示例代码和文档,通过阅读文档和示例,可以快速了解如何在项目中使用这个组件。...
在`upload_5xsoft.asp`和`index.asp`中,可能包含了使用SWFUpload的示例代码和页面结构。 4. **CSS和图片**:在css和images目录下的文件用于美化上传界面,如进度条的样式和按钮的图标。 5. **JavaScript设置**:...
做项目往往都需要上传文件的功能 但微软自带的上传控件 往往并不能满足我们的需求 以前一直使用 FileUpload ,客户逐渐提出新的需求,迫使不得不改用新...SWFUpload谁然依赖于flash,但在我看来,还是一个不错的选择
通过分析和学习SwfUpload多文件上传演示版源码,开发者不仅可以掌握SwfUpload的用法,还能了解到如何在实际项目中实现文件上传功能,提升Web应用的用户体验。同时,这也为其他富客户端组件的学习和应用提供了基础。
要调试或学习SWFUpload,你可以通过解压提供的示例文件,运行在本地服务器环境中,查看源代码并尝试修改,以便理解其工作原理和如何与其他服务器端技术结合使用。 总结,SWFUpload是一个功能强大的Flash上传组件,...
这些文件通常可以从SwfUpload的官方网站或者其他可靠的源获取。然后,你需要配置SwfUpload实例,设置如上传URL、文件类型限制、上传参数等属性。 例如,创建一个SwfUpload实例的简单步骤如下: 1. **初始化...
SWFupload是一个经典的文件上传组件,它利用JavaScript和Flash技术,为用户提供了一种高效、便捷的多文件上传功能。在Web应用中,尤其是在处理大量用户文件上传时,SWFupload的出现极大地改善了用户体验,避免了传统...
首先,SWFUpload的核心组件是`SWFUpload v2.2.0.1 Core.zip`,这个压缩包内包含了SWFUpload的主要源代码和相关资源文件。源码提供了对上传过程的详细控制,包括设置上传参数、处理上传进度、错误处理等。开发者可以...
总之,SWFUpload是一个强大且灵活的多文件上传解决方案,其源码可以帮助开发者深入了解文件上传机制,并根据项目需求进行定制和优化。通过熟练掌握SWFUpload,开发者可以提升Web应用的文件上传功能,提供更好的用户...
对于想要深入了解SWFUpload内部机制的开发者,可以研究其源码,了解Flash与JavaScript之间的通信机制、事件处理流程等。 7. **工具整合** SWFUpload 可以轻松与后端框架(如PHP、ASP.NET、Java)集成,配合数据库...
关于标签,“SWFUpload”是指这个组件本身,“c#”表明了源码是用C#语言编写的,“源码”则意味着提供了完整的源代码,开发者可以查看、学习甚至修改源代码以适应特定需求。这对于学习SWFUpload的工作原理和扩展其...
SwfUpload演示版源码 SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。 SWFUpload的主要特点 ...
3. **upload.as**:这是AS3(ActionScript 3)源代码文件,是Flash的编程语言。在这个文件中,可能包含了SWFUpload的核心上传逻辑,包括文件选择、上传初始化、与服务器通信、进度更新等操作。修改版可能会在此处有...
【SWFUpload ASP.NET 4.0 示例源码解析】 SWFUpload 是一款经典的JavaScript与Flash结合的文件上传组件,它允许用户在网页上实现拖拽上传、批量上传等功能,而无需刷新页面。本示例源码是针对ASP.NET 4.0框架设计的...
SWFUpload 是一款开源的Flash上传组件,它在过去的网页开发中被广泛使用,尤其在应对多文件上传和处理大文件上传时具有显著优势。它的核心功能是利用Flash技术实现跨浏览器的文件上传,即便是在那些不支持HTML5的旧...