繁体   English   中英

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

[英]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 文件。 只有几件事导致了错误。

  1. welcomeR 函数有一点语法错误。 您可能会遇到 Uncaught SyntaxError: Unexpected identifier 'name'和 *uncaught ReferenceError: myname is not defined”。您需要在 welcomeR 的返回语句的字符串和名称之间添加“+”来解决此错误。使用控制台。 log() 语句来检查您的 js 文件是否按预期运行。

  2. 当您调用 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!” 为您的输出。

  1. 最后一个函数 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM