我正嘗試從JavaScript的聖經中完成和練習,並且無法讓我的腳本正常工作。調用JavaScript函數時發生錯誤 - 「無法找到變量」
該任務是創建一個頁面,允許用戶查詢行星的名稱,並且通過一個腳本,該行星的名稱與存儲在關聯陣列中的數據相匹配,調用它的距離和直徑信息。
我試圖通過按鈕(onclick ='getPlanetInfo()')調用函數'getPlanetInfo'。但是,我的錯誤控制檯報告說,當我嘗試運行它時,找不到名爲'getPlanetInfo'的變量。
我已經在下面附加了我的JS和HTML代碼。任何想法,爲什麼我的功能沒有被正確調用將非常感激。
HTML:
<!DOCTYPE html>
<html>
<head>
...
<script type="text/javascript" src="planets.js"></script>
</head>
<body>
<h1>Check a planet's distance from the sun and its diameter!</h1>
<form>
<input type="text" name="entry" id="entry">
<input type="button" value="Check it!" onClick="getPlanetInfo()">
</form>
</body>
</html>
JS:
var planetNames = new Array(4);
planetNames[0] = "Mercury";
planetNames[1] = "Venus";
planetNames[2] = "Earth";
planetNames[3] = "Mars";
var planetDistances = new Array(4);
planetDistances[0] = "36 million miles";
planetDistances[1] = "67 million miles";
planetDistances[2] = "93 million miles";
planetDistances[3] = "141 million miles";
var planetDiameters = new Array(4);
planetDiameters[0] = "3,100 miles";
planetDiameters[1] = "7,700 miles";
planetDiameters[2] = "7,920 miles";
planetDiameters[3] = "4,200 miles";
function getPlanetInfo()
{
var selectedPlanet = document.getElementById("entry").value;
for (var i = 0; i < planetNames.length; i++)
{
if (planetNames[i] == selectedPlanet)
{
break;
}
}
if (i < planetNames.length)
{
alert(selectedPlanet + " is " + planetDistances[i] " in distance from the Sun and " + planetDiameters[i] + "in diameter.")
}
else
{
alert("Sorry, " + selectedPlanet + " isn't in the database.");
}
}
請注意我沒有打擾到我的代碼縮進上面;請放心,它會在實際文件中正確縮進。 ;) – cole
將代碼粘貼並複製到jsbeautifier所需的時間使人們更有可能幫助你。 – ThiefMaster
@FourSix - 如果您不能*打擾*使其易讀,那麼爲什麼我們應該*打擾*閱讀它? –