`
Zhongwei_leg
  • 浏览: 552174 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

swfupload 源码阅读笔记三

阅读更多
SWFUpload.prototype.initSettings = function () {
        this.ensureDefault = function (settingName, defaultValue) {
                this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName];
        };

        // Upload backend settings
        this.ensureDefault("upload_url", "");
        this.ensureDefault("preserve_relative_urls", false);
        this.ensureDefault("file_post_name", "Filedata");
        this.ensureDefault("post_params", {});
        // 略

 

这里比较有趣的是 this.ensureDefault 的定义。

 

不过是一个设置默认值的简单的 method, 但是其中的细节需要学习。作为一个 js 菜,我最初是疑惑 this.ensureDefault 体内的 this.settings 的 this。我实在搞不清这个 this 绑定的是什么,在看了下面的解释之后, 我才豁然开朗,这里严重推荐:

 

http://stackoverflow.com/questions/133973/how-does-this-keyword-work-within-a-javascript-object-literal

 

这里假设,若 ensureDefault 不定义成 public method, 而是定义成一个 private function 会怎样?按照上面链接中的解释,private function 中的 this 会绑定到 "global" object, 也就是浏览器关联的 window object,将无法使用 this.settings, 也就意味着 ensureDefault 需要再传递第3个参数。

 

为了保持接口的简洁,当然要定义成 public method.

 

需要注意的是,在退出 initSettings 时要删除 ensureDefault 方法,毕竟只用一次:

 

delete this.ensureDefault;
 

 

分享到:
评论

相关推荐

    SWFUpload.swf源码以及支持qtp

    SWFUpload是一个流行的JavaScript库,它允许网页在后台无刷新地上传...这个压缩包中的"SWFUpload.swf"很可能是经过修改以支持QTP的源代码版本,对于使用QTP进行Web应用测试的开发者来说,这是一个非常有价值的资源。

    swfupload使用实例和源代码

    实例与源代码 提供的压缩包中,可能包含了实现上述功能的示例代码。`stcaiyun.ttf`可能是用于字体渲染的资源,而`7880.com.txt`可能是包含示例说明或配置信息的文本文件。根据这些资源,你可以更深入地学习如何...

    PHP版SWFUpload源码(可获取上传文件名)

    【PHP版SWFUpload源码(可获取上传文件名)】是一个基于JavaScript和Flash的文件上传组件,适用于PHP环境。SWFUpload是一个流行的开源项目,它允许用户在后台批量上传大文件,同时提供了友好的用户体验。这个特定...

    SwfUpload2.5源代码和release 修复XSS 优化swfupload.js

    这个2.5版本的源代码和release包含了对XSS(跨站脚本攻击)的修复,以及对核心组件`swfupload.js`的优化,提升了整体的安全性和性能。 首先,我们来深入了解SwfUpload的工作原理。SwfUpload使用Flash技术,创建一个...

    swfupload文件上传源码ASP

    这个"SWFUpload文件上传源码ASP"是针对ASP(Active Server Pages)开发的,旨在为ASP应用程序提供一个用户友好的多文件上传解决方案。下面将详细阐述SWFUpload的工作原理以及如何在ASP环境中集成和使用它。 1. **...

    SWFUpload控件源码

    在实际开发中,开发者需要下载SWFUpload v2.2.0.1 Core这个压缩包,解压后会包含SWFUpload的JavaScript库、Flash电影(.swf文件)、示例代码和文档,通过阅读文档和示例,可以快速了解如何在项目中使用这个组件。...

    swfupload asp版 asp上传大文件,批里上传

    在`upload_5xsoft.asp`和`index.asp`中,可能包含了使用SWFUpload的示例代码和页面结构。 4. **CSS和图片**:在css和images目录下的文件用于美化上传界面,如进度条的样式和按钮的图标。 5. **JavaScript设置**:...

    SWFUpload上传控件源码

    做项目往往都需要上传文件的功能 但微软自带的上传控件 往往并不能满足我们的需求 以前一直使用 FileUpload ,客户逐渐提出新的需求,迫使不得不改用新...SWFUpload谁然依赖于flash,但在我看来,还是一个不错的选择

    SwfUpload多文件上传演示版源码_swfuploaddemo.zip

    通过分析和学习SwfUpload多文件上传演示版源码,开发者不仅可以掌握SwfUpload的用法,还能了解到如何在实际项目中实现文件上传功能,提升Web应用的用户体验。同时,这也为其他富客户端组件的学习和应用提供了基础。

    swfupload

    要调试或学习SWFUpload,你可以通过解压提供的示例文件,运行在本地服务器环境中,查看源代码并尝试修改,以便理解其工作原理和如何与其他服务器端技术结合使用。 总结,SWFUpload是一个功能强大的Flash上传组件,...

    SwfUpload的用法Demo

    这些文件通常可以从SwfUpload的官方网站或者其他可靠的源获取。然后,你需要配置SwfUpload实例,设置如上传URL、文件类型限制、上传参数等属性。 例如,创建一个SwfUpload实例的简单步骤如下: 1. **初始化...

    SWFupload

    SWFupload是一个经典的文件上传组件,它利用JavaScript和Flash技术,为用户提供了一种高效、便捷的多文件上传功能。在Web应用中,尤其是在处理大量用户文件上传时,SWFupload的出现极大地改善了用户体验,避免了传统...

    SWFUpload v2.2.0.1源码及使用例子

    首先,SWFUpload的核心组件是`SWFUpload v2.2.0.1 Core.zip`,这个压缩包内包含了SWFUpload的主要源代码和相关资源文件。源码提供了对上传过程的详细控制,包括设置上传参数、处理上传进度、错误处理等。开发者可以...

    SWFUpload多附件上传组件源码

    总之,SWFUpload是一个强大且灵活的多文件上传解决方案,其源码可以帮助开发者深入了解文件上传机制,并根据项目需求进行定制和优化。通过熟练掌握SWFUpload,开发者可以提升Web应用的文件上传功能,提供更好的用户...

    swfupload说明

    对于想要深入了解SWFUpload内部机制的开发者,可以研究其源码,了解Flash与JavaScript之间的通信机制、事件处理流程等。 7. **工具整合** SWFUpload 可以轻松与后端框架(如PHP、ASP.NET、Java)集成,配合数据库...

    SwfUpload多文件上传演示版源码

    SwfUpload演示版源码 SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。 SWFUpload的主要特点  ...

    swfupload网友修改版

    3. **upload.as**:这是AS3(ActionScript 3)源代码文件,是Flash的编程语言。在这个文件中,可能包含了SWFUpload的核心上传逻辑,包括文件选择、上传初始化、与服务器通信、进度更新等操作。修改版可能会在此处有...

    swfupload_asp.net_4.0示例源码

    【SWFUpload ASP.NET 4.0 示例源码解析】 SWFUpload 是一款经典的JavaScript与Flash结合的文件上传组件,它允许用户在网页上实现拖拽上传、批量上传等功能,而无需刷新页面。本示例源码是针对ASP.NET 4.0框架设计的...

    swfupload flash上传兼容所有浏览器

    SWFUpload 是一款开源的Flash上传组件,它在过去的网页开发中被广泛使用,尤其在应对多文件上传和处理大文件上传时具有显著优势。它的核心功能是利用Flash技术实现跨浏览器的文件上传,即便是在那些不支持HTML5的旧...

    swfupload(new)swfupload(new)swfupload(new)

    swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)

Global site tag (gtag.js) - Google Analytics