首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在另一个js文件中调用JavaScript函数

在另一个js文件中调用JavaScript函数
EN

Stack Overflow用户
提问于 2014-09-22 03:19:57
回答 11查看 684.3K关注 0票数 198

我想在second.js文件中调用在first.js文件中定义的函数。这两个文件都在HTML文件中定义,如下所示:

代码语言:javascript
复制
<script type="text/javascript" src="first.js"></script>
<script type="text/javascript" src="second.js"></script>

我想在second.js中调用在first.js中定义的fn1()。根据我的搜索,答案是如果首先定义first.js是可能的,但从我的测试来看,我还没有找到任何方法来做到这一点。

下面是我的代码:

second.js

代码语言:javascript
复制
document.getElementById("btn").onclick = function() {
    fn1();
}

first.js

代码语言:javascript
复制
function fn1() {
    alert("external fn clicked");
}
EN

回答 11

Stack Overflow用户

发布于 2015-01-19 14:57:05

第一个JS:

代码语言:javascript
复制
function fn(){
   alert("Hello! Uncle Namaste...Chalo Kaaam ki Baat p Aate h...");
}

代码语言:javascript
复制
$.getscript("url or name of 1st Js File",function(){
fn();
});
票数 30
EN

Stack Overflow用户

发布于 2014-09-22 03:22:23

您可以在first.js中将函数设置为全局变量,并查看closure,而不是将其放入document.ready中,而是将其放在外部

您也可以使用ajax

代码语言:javascript
复制
    $.ajax({
      url: "url to script",
      dataType: "script",
      success: success
    });

与使用jquery getScript的方式相同

代码语言:javascript
复制
$.getScript( "ajax/test.js" )
  .done(function( script, textStatus ) {
    console.log( textStatus );
  })
  .fail(function( jqxhr, settings, exception ) {
    $( "div.log" ).text( "Triggered ajaxError handler." );
});
票数 26
EN

Stack Overflow用户

发布于 2019-09-29 12:43:01

您可以考虑使用es6 import export语法。在文件1中;

代码语言:javascript
复制
export function f1() {...}

然后在文件2中;

代码语言:javascript
复制
import { f1 } from "./file1.js";
f1();

请注意,这仅在您使用<script src="./file2.js" type="module">时有效

如果这样做,您将不需要两个脚本标记。您只需要主脚本,您可以将所有其他内容导入到那里。

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25962958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档