繁体   English   中英

如何使用另一个.js文件中的函数?

[英]How can I use a function which is into another .js file?

这是我的代码的简化:

// script1.js
$(document).ready(function(){
    .
    .
    function myfunc(){ ... }
    .
    .
});


// script2.js
$(document).ready(function(){
    .
    .
    //doesn't work
    $.getScript("./script1.js");
    // anyway I need to call myfunc() here ... how can I access it?
    .
    .
});

正如您所看到的,我使用$.getScript()来要求sccript1.js文件,但仍未在那里定义myfunc() 我该怎么处理?

正如您所看到的,我使用$ .getScript()来要求sccript1.js文件,但仍未在那里定义myfunc()。 我该怎么处理?

myfuncdocument.ready事件中定义,并且不会全局公开 ,因此您无法在另一个不在此文档就绪事件中的函数中使用它。

你需要 全局导出此函数 定义它的document.ready事件之外

全球出口功能

$(document).ready(function(){
    .
    .
    function myfunc(){ ... }
    window.myfunc = myfunc; //this line added here
    .
    .
});

或者在外面定义它

$(document).ready(function(){
    .
    .

    .
    .
});
function myfunc(){ ... }

尝试:

var myfunc=null;
// script1.js
$(document).ready(function(){
    .
    .
    myfunc = function (){ ... }
    .
    .
});


// script2.js
$(document).ready(function(){
    .
    .
myfunc();
.
});

//util.js

var test = (function (){
return {
myfunc : function (){ ... }
}
})();

// script1.js

$(document).ready(function(){
  test.myfunc();
});

// script2.js

$(document).ready(function(){
   // $.getScript("./script1.js");
   test.myfunc()
});

在您的HTML中,您应该下订单

<script src="util.js"></script>
<script src="script1.js"></script>
<script src="script2.js"></script>

尝试使用绝对路径。 例如https://example.com/js/script1.js而不是./script1.js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM