我正在为HTML5文件(读取器)API构建一个包装,使其回退到正常的文件输入或swfupload。防止函数被直接调用
我有一个通用功能“上传”和三个子功能(所有在同一范围内)
function Uploader() { }
function UploaderAPI() { }
function UploaderSWF() { }
function UploaderHTML() { }
的想法是,你创建一个var uploader = new Uploader()
和函数调用子功能之一,基于特征支持/配置。
但是,我想知道是否有一种方法可以防止用户直接调用其中一个子函数,而只能将它们仅用于Uploader()。
这是可行的,而无需将它们移动到上传器范围?
你的函数内部的普通瓦尔是私有的。 –
“这是可行的,而无需将它们移动到上传器范围?” - no - 使这些函数仅对Uploader可见的唯一方法是将它们移动到Uploader范围中,如下面的答案所做的那样,这是范围的定义。 –
@JamesGaunt - 是的,这是可能的。看看我的答案。我没有把它移到'Uploader'范围。我把所有的函数都转换成了[IIFE](http://benalman.com/news/2010/11/immediately-invoked-function-expression/“Ben Alman » Immediately-Invoked Function Expression(IIFE)”),它返回'上传器'功能。 –