首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我们可以在另一个JS文件中调用用一个JavaScript编写的函数吗?

我们可以在另一个JS文件中调用用一个JavaScript编写的函数吗?
EN

Stack Overflow用户
提问于 2010-09-28 13:14:00
回答 3查看 483.3K关注 0票数 204

我们可以在一个JS文件中调用另一个JS文件中编写的函数吗?有没有人可以教我如何从另一个JS文件中调用函数?

EN

回答 3

Stack Overflow用户

发布于 2010-09-28 18:22:55

上面的答案有一个错误的假设,即文件的包含顺序很重要。因为直到调用alertOne函数时才调用alertNumber函数。只要这两个文件都包含在称为alertOne的时间段中,那么文件的顺序并不重要:

HTML

代码语言:javascript
复制
<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript">
    alertOne( );
</script>

JS

代码语言:javascript
复制
// File1.js
function alertNumber( n ) {
    alert( n );
};
// File2.js
function alertOne( ) {
    alertNumber( "one" );
};
// Inline
alertOne( ); // No errors

或者可以按如下方式订购:

HTML

代码语言:javascript
复制
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript">
    alertOne( );
</script>

JS

代码语言:javascript
复制
// File2.js
function alertOne( ) {
    alertNumber( "one" );
};
// File1.js
function alertNumber( n ) {
    alert( n );
};
// Inline
alertOne( ); // No errors

但是如果你要这样做:

HTML

代码语言:javascript
复制
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript">
    alertOne( );
</script>
<script type="text/javascript" src="file1.js"></script>

JS

代码语言:javascript
复制
// File2.js
function alertOne( ) {
    alertNumber( "one" );
};
// Inline
alertOne( ); // Error: alertNumber is not defined
// File1.js
function alertNumber( n ) {
    alert( n );
};

它只关心变量和函数在执行时是否可用。当定义一个函数时,它不会执行或解析其中声明的任何变量,直到随后调用该函数。

包含不同的脚本文件与脚本在同一文件中的顺序没有什么不同,但延迟脚本除外:

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

那你就得小心了。

票数 70
EN

Stack Overflow用户

发布于 2010-09-28 13:15:55

只要两者都被网页引用,就可以。

您只需调用这些函数,就好像它们在同一个JS文件中一样。

票数 15
EN

Stack Overflow用户

发布于 2020-05-27 02:08:19

对于那些想要在Node.js中执行此操作(在服务器端运行脚本)的人来说,另一个选择是使用requiremodule.exports。下面是一个关于如何创建模块并将其导出以供其他地方使用的简短示例:

file1.js

代码语言:javascript
复制
const print = (string) => {
    console.log(string);
};

exports.print = print;

file2.js

代码语言:javascript
复制
const file1 = require('./file1');

function printOne() {
    file1.print("one");
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3809862

复制
相关文章

相似问题

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