如何在javascript中内部调用外部函数?
我对JavaScript比较陌生,所以这可能有点微不足道。然而,我似乎找不到这个问题的答案 假设我有一个JavaScript文件(bar.js),其中有一个名为foo()的函数。我想在脚本标记内调用这个函数(foo)。我希望它能像这样工作如何在javascript中内部调用外部函数?,javascript,html,Javascript,Html,我对JavaScript比较陌生,所以这可能有点微不足道。然而,我似乎找不到这个问题的答案 假设我有一个JavaScript文件(bar.js),其中有一个名为foo()的函数。我想在脚本标记内调用这个函数(foo)。我希望它能像这样工作 <script type="text/javascript" src="bar.js"> foo(); </script> 我让它工作。 谢谢大家。您需要首先包含包含函数的javascript: <script type=
<script type="text/javascript" src="bar.js">
foo();
</script>
我让它工作。
谢谢大家。您需要首先包含包含函数的javascript:
<script type="text/javascript" src="bar.js"></script>
然后在另一个脚本标记中调用它:
<script type="text/javascript">
foo();
</script>
foo();
在您的示例中,您似乎将两个概念混合到一个无效的脚本标记中:包括一个外部javascript文件,并在脚本标记的主体中编写代码
根据报告:
脚本可以在脚本元素的内容中定义,或者
在外部文件中。如果未设置src属性,则用户代理必须
将元素的内容解释为脚本。如果src有
URI值时,用户代理必须忽略元素的内容并检索
该脚本通过URI访问
因此,基本上你应该避免这种情况,并为包含外部文件和编写内联js使用单独的脚本标记。你能发布你在JSFIDLE中尝试过的代码吗?相关:所以你不能链接和调用同一个脚本标记?这不能解释为什么从按钮调用它的版本不起作用。不,你不能,您应该在两个单独的脚本标记中执行此操作。@DarinDimitrov-问题中有三组代码。这个答案解释了为什么集合1和集合3不起作用。这并不能解释为什么集合2不起作用。你是对的,我已经更新了我的答案,以引用规范,该规范准确地说明了你所说的。如果同时具有src属性和内联主体,则只加载外部脚本,而忽略主体。
<html>
<head>
<script type="text/javascript" src="bar.js">
</script>
<!--From what yall say I should have another script
tag here for anything else. Say some variable?-->
<script type="text/javascript">
var a = "hello";
var b = "text";
</script>
</head>
<body>
<!--This should work now?-->
<button type="button" onclick="foo(b,a)">
Click me
</button>
</body>
</html>
function foo(id,string){
document.getElementById(id).innerHTML = string;
}
<script type="text/javascript" src="bar.js"></script>
<script type="text/javascript">
foo();
</script>