从HTML调用时,为什么我的JavaScript链接不起作用?

Goe*_*eff 3 html javascript hyperlink

我对编码很新,我正在尝试完成Codecademy的Javascript课程.我已经学习了一些关于HTML/CSS的知识,我几乎完成了JavaScript.我研究过有类似问题的人,但这些解决方案通常涉及JQuery,我还没有学到.

这是我的HTML(index.html):

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript" src="main.js"></script>
  </head>
  <body>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我的JavaScript的开头:

alert();

// Acquire character's name and check to make sure it's a string
var charName = prompt("NASA Receptionist: 'Welcome to Mission Control. 
May I have your last name, please?'");

var nameCheck = function(charName) {
    while (typeof charName === "number") {
        charName = prompt("NASA Receptionist: 'Surely, your name is not 
a number... Please, may I have your last name?'");
    }
};

nameCheck(charName);
Run Code Online (Sandbox Code Playgroud)

注意:index.html与main.js位于同一文件夹中

当我打开index.html时,没有任何反应,甚至没有打开alert().我错过了什么吗?

shi*_*gre 6

您的脚本中有错误,因为您无法在不使用转义斜杠的情况下在多行中生成javascript语句.

我收到了这个错误:

SyntaxError:未终止的字符串文字

var charName = prompt("美国宇航局接待员:'欢迎来到任务控制.

这是修改后的代码:

    alert();

    // Acquire character's name and check to make sure it's a string
    //The \r\n\ will format the string in prompt and make it appear in new line
    var charName = prompt("NASA Receptionist: 'Welcome to Mission Control. \
                        \r\n\May I have your last name, please?'");

    var nameCheck = function(charName) {
        while (typeof charName === "number") {
            charName = prompt("NASA Receptionist: 'Surely, your name is not \
                                \r\n\a number... Please, may I have your last name?'");
        }
    };

    nameCheck(charName);
Run Code Online (Sandbox Code Playgroud)

  • 关闭......但可能并不完全是OP所追求的.由于字符串第二行的前导空格(https://jsfiddle.net/3mawcL9y/),警报中的文本格式错误.我建议使用换行字符而不是`\ r \n`(https:// jsfiddle.net/3mawcL9y/1/) (2认同)