从不同的模块导入函数

Importing Functions from Different "Modules"

本文关键字:导入 函数 模块      更新时间:2023-09-26

我是jQuery新手,来自Python和Java背景,所以我很难习惯如何跨不同的。js文件工作。我有一个HTML文件,它导入以下脚本:

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script
        src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.js"></script>
    <script src="{{ STATIC_URL }}/forms.js"></script>
    <script src="{{ STATIC_URL }}/workout1Alt.js"></script>

最后两个是我的。在forms。js中,我有一个通用函数,validateNumberForm,我想在更具体的workout1Alt.js形式中使用它。表单的签名如下所示:

var validateNumberForm = function(id)

我这样调用workout1Alt.js中的validateNumberForm:

validateNumberForm('#squatsForm');

但是我得到这个错误:

Reference Issue: Cannot find variable validateNumberForm. 

谁能告诉我如何做这样的事情的最佳实践?

我猜你是把定义包装在一个jQuery现成的处理程序中,像这样:

$(function() {
    var validateNumberForm = function(id) { /* ... */ };
    // ...
});

这使得validateNumberForm只在那里可用。如果您希望它对其他文件可用,可以将其移出ready处理程序:

var validateNumberForm = function(id) { /* ... */ };
$(function() {
    // ...
});

或者您可以显式导出它:

$(function() {
    var validateNumberForm = function(id) { /* ... */ };
    window.validateNumberForm = validateNumberForm;
    // ...
});