JavaScript下部分–頭歌(educoder)實訓作業題目及答案

在本文中,我將詳細探討幾個與JavaScript相關的教育編碼訓練任務及其解決方案。這些任務旨在幫助學習者提升他們的 JavaScript 編程技巧,並加深他們對這門廣泛使用的腳本語言的理解。以下是爲中文繁體讀者準備的培訓作業題目和答案示例:

問題1: 使用JavaScript創建一個簡單的計算器

要求: 編寫一段JavaScript代碼,使得網頁上顯示的HTML輸入框可以作爲簡易的四則運算計算器使用。用戶輸入表達式後,點擊按鈕進行計算,並在同一個輸入框下方顯示結果。

// HTML 部分的設置
<input type="text" id="calcInput">
<button onclick="calculate()">計算</button>

解決方案:

function calculate() {
var inputValue = document.getElementById("calcInput").value; //獲取輸入值
var operators = ["+", "-", "*", "/"]; //定義操作符數組
var numbers = []; //初始化數字數組爲空
var total = 0; //初始總值爲零

for (let i = 0; i < inputValue.length; i++) { //遍歷輸入值中的每個字符
if (operators.includes(inputValue[i])) { //如果當前字符是操作符
total += parseFloat(numbers[numbers.length - 1]); //對最後一個數字執行操作
numbers.push(null); //插入佔位以保存中間結果
} else if (isNaN(parseInt(inputValue[i]))) continue; //如果不是有效的數字或操作符,跳過此字符
else {
numbers.push(parseInt(inputValue[i])); //將數字添加到數組中
}
}

total += parseFloat(numbers[numbers.length - 1]); //處理最後一位數字

document.getElementById("calcInput").value = total; //更新輸入框顯示結果
}

這個程序通過JavaScript函數 `calculate()` 來實現簡單的四則運算功能。首先,它讀取輸入框的內容,然後解析其中的數值和操作符。對於每一個操作符,它會先計算前一個數值的結果,並將結果保存在 `total` 中。這樣,當所有操作完成時, `total` 將包含最終的計算結果。

問題2: 實現一個JavaScript循環來打印九九乘法表

要求: 編寫一段JavaScript代碼,利用循環結構生成一張完整的“九九乘法表”,並且表格格式美觀,每行右對齊。

// 用於輸出格式的CSS樣式
.tableCell {
width: 3em;
display: inline-block;
text-align: right;
margin: auto;
}

解決方案:

function printTable() {
var output = ''; // 清空之前的輸出
for (let row = 1; row <= 9; ++row) { // 外層循環控制行數
output += '<tr>'; // 開始新的一行
for (let col = 1; col <= row; ++col) { // 內層循環控制列數
output += '<td class="tableCell">' + col + ' * ' + row + ' = ' + (col * row) + '</td>'; // 生成單元格內容
}
output += '</tr>'; // 結束這一行的單元格
}
output = '<table>' + output + '</table>'; // 在最外面加上table標籤
document.getElementById('result').innerHTML = output; // 將生成的表格寫入指定的div元素中
}

這段代碼使用了兩個嵌套的 for 循環來構建每一行和每一列的乘積。首先,外層的循環負責一行一行地構造表格,而內層的循環則在每一行內部填充單元格。爲了確保表格的整齊性,我們給每一個單元格設置了寬度,採用inline-block佈局方式,並對齊方式進行了調整。

問題3: 使用JavaScript判斷閏年

要求: 根據年份,用JavaScript編寫一個函數來確定它是否爲閏年。閏年的條件是該年份可以被4整除且不能被100整除,或者該年份可以被400整除。

解決方案:

function isLeapYear(year) {
return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
}

這個函數接受一個表示年份的參數 `year`,並返回一個布爾值來表明它是否爲閏年。它首先檢查年份是否能被4整除,這是成爲閏年的基本條件。接着,它考慮了特殊情況——如果是世紀年(即末尾有兩個零的年份,如2000年),那麼只有它能被400整除纔是閏年。因此,只需要簡單地將這兩個邏輯語句組合起來,就可以得到一個準確的閏年判定方法。

以上這些問題和解決方案僅僅是JavaScript學習和實踐中的一部分例子。在實際工作中,開發者可能會遇到更多複雜的情況和要求更高的任務。然而,通過對這些基礎問題的理解和解決,初學者可以逐步積累經驗,提高自己的編程水平。

为您推荐