如何调用在其他 JavaScript 文件中定义的静态 JS 函数
How to call a static JS function defined in other javascript file
我正在使用Meteor JS。我在文件 A 中定义了一个 JavaScript 函数,我想通过从文件 B 调用来重用它。
文件 A:
function Storeclass(){}
Storeclass.validate=function(){...}
从 A JavaScript 我尝试调用它工作StoreClass.validateBasic()
但相同的调用从 B 不起作用。我也尝试在 B 中做var storeClassObj=new StoreClass();
和storeClassObj.validate()
.我收到错误ReferenceError: StoreClass is not defined
.
阅读此文档,了解 Meteor 中的命名空间。
相关部分是这样的:
// File Scope. This variable will be visible only inside this
// one file. Other files in this app or package won't see it.
var alicePerson = {name: "alice"};
// Package Scope. This variable is visible to every file inside
// of this package or app. The difference is that 'var' is
// omitted.
bobPerson = {name: "bob"};
但是,稍后在同一文档中,它是这样说的:
声明函数时,请记住函数 x () {} 只是 JavaScript 中 var x = 函数 x () {} 的简写。
这表明您编写的函数是文件 A 的私有函数,即使加载顺序正确,也无法从文件 B 访问!
因为文件 B 中的函数可能会在文件 A 准备就绪之前调用,因此您必须确保成功加载所有必需的 js 文件。
如果您使用的是jQuery,那么在文件B中调用文档就绪函数中的函数:
$( document ).ready(function() {
//File A code
});
或者用普通的JavaScript:
(function() {
// your page initialization code here
// file A code
})();
相关文章:
- SuiteScript2.0-包括一个自定义文件
- 为其他JS生成定义“;编译器”;来自TypeScript定义文件
- 如何在ExtJs4应用程序上为视图、存储和模型设置自定义文件夹名称
- 扩展 ACE 编辑器,如何导入自定义文件
- 使用CKEditor自定义文件浏览器,并使用ASP.Net MVC进行上传
- 如何在Visual Studio 2010/2012中将自定义文件扩展名注册到JavaScript编辑器
- 无法识别打字稿定义文件
- 自定义文件输入
- JavaScript 类的打字稿定义文件引发运行时错误
- 在文件上传中选择自定义文件
- ternJS - 生成 JSON 类型定义文件
- Webpack 引导加载器在引导后加载自定义文件
- Dropzone.js:自定义文件浏览器 - 添加已上传的文件
- 在CKEditor中获取自定义文件浏览器的url
- 尽可能创建最简单的typescript定义文件
- 如何将Yeoman输出的所有脚本、图像分组到自定义文件夹中
- 是否应将TypeScript定义文件包含在_references.js中
- 自定义文件上载脚本在safari中不起作用
- 根据用户输入提供自定义文件
- 找不到'core-js'的类型定义文件