![](/img/trans.png)
[英]External Javascript calling functions from another external javascript file
[英]calling functions in html from external javascript file
这是一个简单实用的方法,但我不确定自己做错了什么。
我的外部 javascript 文件中有以下代码:
function myname(){
document.write("Monique");
}
function welcomeW(name){
document.write("Welcome " + name + "!");
}
function welcomeR(name){
return "Welcome " name "!";
}
我添加了这个<script>
标签来链接到我的 html 文件:
<script src="script.js" type="text/javascript"></script>
我尝试使用以下方法调用 html 中的函数:
<script> myname(); </script>
<script> welcomeW(Monique); </script>
<script> welcomeR(Monique); </script>
当我在 html 中编写函数时它起作用了,但在外部文件中没有任何反应。
Monique,您的代码中只有一个问题,请在传递参数时使用单引号(即“Monique”)或双引号(“Monique”),我会收到“Uncaught ReferenceError: Monique is not defined”错误信息。
<script> myname(); </script>
<script> welcomeW("Monique"); </script>
<script> welcomeR("Monique"); </script>
或者使用这个。
<script> myname(); </script>
<script> welcomeW('Monique'); </script>
<script> welcomeR('Monique'); </script>
如果<script>
有src
则元素的文本内容将不会作为 JS 执行(尽管它会出现在 DOM 中)。
您需要使用多个脚本元素。
<script>
加载外部脚本<script>
来保存你的内联代码(在外部脚本中调用函数)您可能将<script src="<your js file>" type="text/javascript"></script>
放在 html 文件中的错误位置。 尝试将其放在<head></head>
或正文结束标记</body>
之前。
另一个常见错误是在<script src="<your js file>" type="text/javascript"></script>
尝试输入类似的位置,例如: <script src="./index.js" type="text/javascript"></script>
如果您的 index.js 文件与 index.html 位于同一文件夹中。
希望能帮助到你
根据您的描述,您正在调用函数并正确链接 Html 中的 js 文件。 只有几件事导致了错误。
welcomeR 函数有一点语法错误。 您可能会遇到 Uncaught SyntaxError: Unexpected identifier 'name'和 *uncaught ReferenceError: myname is not defined”。您需要在 welcomeR 的返回语句的字符串和名称之间添加“+”来解决此错误。使用控制台。 log() 语句来检查您的 js 文件是否按预期运行。
当您调用 html 文件中的函数时,您应该有一个未捕获的语法错误,其中未定义 Monique。 您只需要将 welcomeW 和 welcomeR 功能从
<script> myname(); </script> <script> welcomeW(Monique); </script> <script> welcomeR(Monique); </script>
到
<script> myname(); </script>
<script> welcomeW("Monique"); </script>
<script> welcomeR("Monique"); </script>
所以你正在传递字符串。
有了这个,你应该能够得到“MoniqueWelcome Monique!” 为您的输出。
最后一个函数 welcomeR 不会将任何内容输出到输出文件中,因为它返回一个 str,并且不会更改外部文件的内容。 如果你希望它也输出到你的文件中,写
welcomeR("Monique")
作为
document.write(welcomeR("Monique"));
您忘记了返回时的+。 而且您可以只调用脚本中的函数。如果您正确链接它,那么它应该可以工作。
如果你不知道。 Return 不打印/写入任何内容。 它只是返回。 如果你想写它,你只需要这样做。
var welcomeR = return "Welcome " + name + "!"; and document.write(welcomeR);
<script> function myname(){ document.write("Monique"); } function welcomeW(name){ document.write("<br/>" +"Welcome " + name + "!" + "<br/>"); } function welcomeR(name){ return "Welcome " + name + "!"; } myname(); welcomeW("Monique"); welcomeR("Monique"); </script>
确保将脚本函数调用放在脚本 src 标记之后。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.