-1

好吧,我是 javascript 新手,我已经完成了 C++ C# VB。但是这本 javascript 书很难理解,它只是练习,没有完整的代码可以看。无论如何,我正在做一个简单的项目,但我不明白我哪里出错了。CDATA 是我认为我出错的地方。这是我的第二个项目,第一个项目很简单,直到我卡住了 CDATA 和 Var。我知道这段代码已经过时了,但我正在按照这本书学习基本的 JS 并逐步提高。继承人的代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Largest Islands</title>
<meta http-equiv="content-type" content="text/html; charset=iso-
8859-1" />
</head>
<body>
<h1>Largest Islands</h1>
<script type="text/javascript">
/* <![CDATA[ */
var island1Name = "Greenland";
var island2Name = "New Guinea";
var island3Name = "Borneo";
var island4Name = "Madagascar";
var island5Name = "Baffin";
var island1Size = 2175600;
var island2Size = 790000;
var island3Size = 737000;
var island4Size = 587000;
var island5Size = 507000;
document.write("<p>The largest island
in the world is " + island1Name
+ " with " + island1Size + " miles.</p>");
document.write("<p>The second largest island
in the world is " + island2Name
+ " with " + island2Size + " miles.</p>");
document.write("<p>The third largest island
in the world is " + island3Name
+ " with " + island3Size + " miles.</p>");
document.write("<p>The fourth largest island
in the world is " + island4Name
+ " with " + island4Size + " miles.</p>");
document.write("<p>The fifth largest island
in the world is " + island5Name
+ " with " + island5Size + " miles.</p>");
/* ]]> */
</script>
</body>
</html>

这是一个非常简单的项目,我只需要一些帮助来弄清楚我哪里出错了。先感谢您

4

4 回答 4

0

在本地运行它,JavaScript 错误控制台非常清楚问题出在哪里。它甚至为您提供行号。

document.write("<p>The largest island
in the world is " + island1Name...

JavaScript 字符串中间不能有换行符。

document.write("<p>The largest island in the world is " + island1Name...

作品。您需要修复所有这些问题,并开始使用每个主流浏览器中可用的开发工具。

于 2013-02-13T17:40:31.080 回答
0

我认为问题出在断线

代替

document.write("<p>The largest island
in the world is " + island1Name

尝试

document.write("<p>The largest island" 
+ "in the world is " + island1Name
于 2013-02-13T17:40:37.660 回答
0

您的问题是 JavaScript 中不允许这样的多行字符串:

document.write("<p>The second largest island
in the world is " + island2Name

如果你在错误的地方去掉那些新行,代码就可以工作。该行现在看起来像这样:

document.write("<p>The second largest island in the world is " + island2Name

示例:http: //jsbin.com/igowel/1/edit

要继续使用 JavaScript,请习惯使用控制台和开发人员工具。对于 Chrome,请查看此问答:如何在 Google Chrome 中使用 JavaScript 控制台?

于 2013-02-13T17:40:40.767 回答
0

我认为您的问题是此处的换行符。你的代码:

document.write("<p>The largest island
in the world is " + island1Name
+ " with " + island1Size + " miles.</p>");

应该 :

document.write("<p>The largest island in the world is " + island1Name
+ " with " + island1Size + " miles.</p>");

如果你在一行中开始一个字符串并且你没有在同一行结束它会导致换行抛出错误。此外,我建议您使用 firefox 和 firebug 进行开发,您可以在其中调试脚本。

于 2013-02-13T17:43:41.857 回答