我们可以在另一个JS文件中调用写在一个JS文件中的函数吗?有人能帮助我如何从另一个JS文件调用函数吗?
当前回答
我想到了另一个好办法。 窗口(“functioName”)(params);
其他回答
上面的答案有一个错误的假设,即文件的包含顺序很重要。因为在alertOne函数被调用之前,alertNumber函数不会被调用。只要两个文件都包含在时间alertOne中,那么文件的顺序并不重要:
[HTML]
<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript">
alertOne( );
</script>
[JS]
// File1.js
function alertNumber( n ) {
alert( n );
};
// File2.js
function alertOne( ) {
alertNumber( "one" );
};
// Inline
alertOne( ); // No errors
也可以按如下顺序排列:
[HTML]
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript">
alertOne( );
</script>
[JS]
// File2.js
function alertOne( ) {
alertNumber( "one" );
};
// File1.js
function alertNumber( n ) {
alert( n );
};
// Inline
alertOne( ); // No errors
但如果你这样做:
[HTML]
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript">
alertOne( );
</script>
<script type="text/javascript" src="file1.js"></script>
[JS]
// File2.js
function alertOne( ) {
alertNumber( "one" );
};
// Inline
alertOne( ); // Error: alertNumber is not defined
// File1.js
function alertNumber( n ) {
alert( n );
};
它只与变量和函数在执行时可用有关。定义函数后,它不会执行或解析其中声明的任何变量,直到随后调用该函数。
包含不同的脚本文件与脚本在同一文件中的顺序没有区别,除了延迟脚本:
<script type="text/javascript" src="myscript.js" defer="defer"></script>
那你得小心点。
ES6:使用<script>在.html中包含许多js文件,你可以只包括一个主文件,例如script.js使用属性type="module"(支持),在script.js中你可以包括其他文件:
<script type="module" src="script.js"></script>
在script.js文件中包含另一个这样的文件:
import { hello } from './module.js';
...
// alert(hello());
在'module.js'中,你必须导出将要导入的函数/类
export function hello() {
return "Hello World";
}
这里是工作示例。
对于那些想在Node.js(在服务器端运行脚本)中执行此操作的人来说,另一种选择是使用require和module.exports。下面是一个关于如何创建一个模块并将其导出以供在其他地方使用的简短示例:
file1.js
const print = (string) => {
console.log(string);
};
exports.print = print;
file2.js
const file1 = require('./file1');
function printOne() {
file1.print("one");
};
只要两者都被网页引用,是的。
你只需调用这些函数,就好像它们在同一个JS文件中一样。
我想到了另一个好办法。 窗口(“functioName”)(params);
推荐文章
- 如何使用JavaScript代码获得浏览器宽度?
- event.preventDefault()函数在IE中无法工作
- indexOf()和search()的区别是什么?
- 错误:'types'只能在.ts文件中使用- Visual Studio Code使用@ts-check
- React-Native:应用程序未注册错误
- LoDash:从对象属性数组中获取值数组
- src和dist文件夹的作用是什么?
- jQuery UI对话框-缺少关闭图标
- 如何使用AngularJS获取url参数
- 将RGB转换为白色的RGBA
- 如何将“camelCase”转换为“Camel Case”?
- 我们可以在另一个JS文件中调用用一个JavaScript编写的函数吗?
- 如何使用JavaScript重新加载ReCaptcha ?
- jQuery。由于转义了JSON中的单引号,parseJSON抛出“无效JSON”错误
- 在JavaScript关联数组中动态创建键