每日練習-20181220
阿新 • • 發佈:2018-12-23
文章目錄
一、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:頻繁的移動或刪除。超大量資料。