在文件中调用函数,而被调用的函数调用第一个文件中的另一个函数
Calling function in a file while the called function call another function in the first file
我在另一个文件中调用函数时遇到麻烦,而在第二个文件中,被调用的函数必须在第一个文件中调用另一个函数。怎么可能?在我的示例中,我首先调用 File2 中的 Printer1 函数.js然后在 File2 中.js我调用在 File1 中声明的 Printer2.js(但我没有在 File2 中包含 File1.js.js,但我在 File1 中执行此操作.js(包括 File2.js)
文件1.js
var data1="Hi";
Printer1(data1);
var Printer2(){
document.write(data1);
}
文件2.js:
var Printer(data1){
document.write(data1);
Printer2();
}
我还想知道我是否可以在页面开头包含 File2.js,或者在调用 Printer1 之前必须包含一行?
你的javascript将按照加载的顺序执行,而不是提升,如果你使用正确的语法,可以在编写函数之前使用它们。
File 1:
function foo() {
alert("I'm foo!");
}
File 2:
foo(); //alerts "I'm Foo!"
基本上,有两个文件,例如
与将它们组合在一起并将它们包含在一起相同。如果它像这样工作,除了吊装之外,它也会单独工作。
这就是吊装的工作原理:(这必须在同一文件和同一范围内)
foo(); //alerts "I'm foo!" even though we haven't told it to yet.
function foo() {
alert("I'm foo!");
}
这是有效的,因为以这种方式定义的函数将被"提升"到该范围内执行的开头。
什么不起作用:
foo(); //undefined!!
var foo = function() { //doesn't get hoisted!
alert("I'm foo!");
}
如果要吊装,请使用其他语法!
你可能想知道的一件事是这个,但我真的无法弄清楚你的问题(令人困惑的措辞,哈哈)
如果文件 1 具有使用文件 2 中的函数的函数怎么办?
在这种情况下,您将无法使用文件 1 中的函数,因为在执行文件 1 时文件 2 中的函数将未定义,但您可以使用文件 2 中的文件 1 函数(即使在开始时,如果您将其挂起)。
喜欢这个:
File 1:
function foo() {
bar();
}
foo(); //bar is undefined! error!
File 2:
foo(); //works!! bar is hoisted and therefore defined already for "foo" to use
function bar() {
alert('from file 2!');
}
你有var,你应该有函数。你也不应该使用document.write。看看这个。JS应如下所示:
文件1.js:
var data1="Hi";
Printer1(data1);
function Printer2(){
document.write(data1);
}
文件2.js
function Printer1(data1){
document.write(data1);
Printer2();
}
为了使 file2 中的函数可调用,您需要标记如下所示:
<body>
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript" src="file1.js"></script>
</body>
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 如何在Javascript函数调用中循环变量
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 如何远程检查JavaScript应用程序的函数调用堆栈
- javascript函数调用不起作用
- 为什么这个函数调用会破坏程序并导致未定义的变量
- 如何通过函数调用设置图像的src
- 从全局函数调用Ember控制器上的方法
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- JavaScript函数调用(arg1)(arg2)
- 打印链接时,将javascript函数调用到链接中
- 在函数调用中封装数据除了隐藏数据之外还有什么优点
- 无法从JavaScript中的函数调用对象属性
- 对中的函数调用进行排序是回调的唯一方法
- 函数调用方法有什么用
- Javascript:JSHint:应为赋值或函数调用,但实际看到的却是表达式
- HTML5(Bootstrap)通过函数调用运行动画
- 函数调用不起作用
- 函数中的Javascript函数调用