1. 程式人生 > >每日練習-20181220

每日練習-20181220

文章目錄

一、JavaScript 程式設計題

按照下列要求,用JavaScript寫一個年,月,日的聯動選單。
1、預設顯示當前日期;
2、選擇年才可以選擇月,選擇月才可以選擇日,並且 2 月的天數要正確;
解答

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
/>
<title>年月日聯動</title> <style type="text/css"> </style> </head> <body> <div id="container"> <form> <select id="sYear"> <option> 請選擇年</option> </select> <select id="sMonth" onclick="activateDay(this.value)"
>
<option> 請選擇月</option> </select> <select id="sDay" disabled="disabled"> <option> 請先選擇年月再選擇日</option> </select> </form> </div> </body> <script type="text/javascript"> window.onload = function(){ createOptionYear
("年",$("sYear"),10); // 年選項操作。前後10年。 createOption("月",$("sMonth"),12); // 月選項操作。 } // 函式:簡化獲取標籤元素程式碼量。 function $(id){ return document.getElementById(id); } // 建立年選項的option。預設值當前年。 function createOptionYear(str,p,num){ var c; var tim = new Date(); for(var i = tim.getFullYear() - num; i < tim.getFullYear() + num; i++){ if(i == tim.getFullYear()){ c = c + "<option selected>" + i + str + "</option>"; // 預設當前年。 }else{ c = c + "<option>" + i + str + "</option>"; } } p.innerHTML = c; } // 建立月日選項的option。無預設值。 function createOption(str,p,num){ var c; for(var i = 1; i <= num; i++){ c = c + "<option>" + i + str + "</option>"; } p.innerHTML = c; // 建立結果放入父標籤中。 } // 使日選擇框可用。並建立option。 function activateDay(sMonth){ $("sDay").removeAttribute("disabled"); createOption("日",$("sDay"),outDays(parseInt(sMonth))); // 呼叫建立和判斷函式。 } // 判斷閏年。返回相應2月天數。 function judgeLeapYear(year){ if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0 )){ return 29; }else{ return 28; } } // 選擇月天數。返回相應的月天數。 function outDays(smonth){ switch(smonth){ case 4: return 30; break; case 6: return 30; break; case 9: return 30; break; case 11: return 30; break; case 2: return judgeLeapYear(parseInt($("sYear").value)); // 判斷閏年,並返回天數。 break; default: return 31; break; } }
</script> </html>

二、MySQL 簡答題

常見的幾種約束有哪些?分別代表什麼意思?如何使用?
解答

約束型別 名稱 含義 使用
primary key 主鍵 not null + unique , 一個表有且僅有一個主鍵,但一個主鍵可以包含多個欄位。保證實體完整性 constraint 自定義主鍵名 primary key (列名)或者建立表時直接加入primary key。
foreign key 外來鍵 連線兩個表,保證引用完整性 alter table t_name add constraint 自定義外來鍵名 foreign key (c_name) references 表名(列名)
not null 非空 必須填寫, 建立表時直接加入not null。
unique 唯一 只有一個,保證實體完整性 建立表時直接加入unique。

三、Java 簡答題

陣列(Array)和列表(ArrayList)有什麼區別?什麼時候應該使用 Array 而不是 ArrayList?
解答

專案 Array ArrayList
儲存內容 同種型別 可不同種
包含資料型別 基本資料型別或物件型別 物件型別
長度 固定 可動態改變
方法和特性 較少
關係 ArrayList可以算作Array的加強版 -

使用
Array:程式執行期間,資料存在且不變 。
ArrayList: 以陣列形式儲存,不操作,方便查詢。
LinkedList:頻繁的移動或刪除。超大量資料。