从外部javascript文件调用html中的函数

u0sqgete  于 2022-12-21  发布在  Java
关注(0)|答案(6)|浏览(261)

这是一个简单的实践,但我不知道我做错了什么。
我有以下代码在我的外部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写这个函数时它工作了,但是在外部文件中什么也没发生。

m3eecexj

m3eecexj1#

Monique,您的代码中只有一个问题,请在传递参数时使用单引号(即“Monique”)或双引号(“Monique”),如果您收到“未捕获的引用错误:Monique未定义”错误消息。

<script> myname(); </script>
<script> welcomeW("Monique"); </script>
<script> welcomeR("Monique"); </script>

或者用这个。

<script> myname(); </script>
<script> welcomeW('Monique'); </script>
<script> welcomeR('Monique'); </script>
epfja78i

epfja78i2#

如果一个<script>有一个src,那么元素的文本内容将不会作为JS执行(尽管它会出现在DOM中)。
您需要使用多个脚本元素。

  • 用于加载外部脚本的<script>
  • 一个<script>,用于保存内联代码(在外部脚本中调用函数)
unhi4e5o

unhi4e5o3#

您可能将<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位于同一文件夹中)。
希望能有所帮助!

jhkqcmku

jhkqcmku4#

从你所描述的,你调用你的函数并且正确地链接了Html格式的js文件,只是有一些事情导致了错误。

  1. welcomeR函数有一点语法错误,您可能会遇到 * Uncatched SyntaxError:意外的标识符“name”* 和 * 未捕获的引用错误:myname is not defined”。welcomeR返回语句的字符串和name之间需要有“+”才能解决此错误。使用console.log()语句检查js文件是否按预期运行。
    1.当您使用调用html文件中的函数时,应该会出现 uncaught syntax error(未定义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>

所以要传入字符串。
这样,您的输出应该可以得到 “Monique欢迎Monique!"
1.最后一个函数welcomeR没有向输出文件输出任何内容,因为它返回了一个str,并且没有改变外部文件的内容。

welcomeR("Monique")

作为

document.write(welcomeR("Monique"));
vu8f3i0k

vu8f3i0k5#

你忘记了返回的+。你可以直接调用你脚本中的函数。如果你链接正确,那么它应该工作。
如果你不知道的话,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>
ccgok5k5

ccgok5k56#

确保将脚本函数调用放在script src标记之后。

相关问题