java做業——Day0012

JavaScript 編程題

按照下列要求,用JavaScript寫一個年,月,日的聯動菜單。javascript

一、默認顯示當前日期; 二、選擇年才能夠選擇月,選擇月才能夠選擇日,而且 2 月的天數要正確;html

<html>

    <head>
        <meta charset="UTF-8">
        <title>年月日下拉框聯動</title>
    </head>

    <body>
        <form name="dateInfo">
            <select name="yearName" onchange="testYear(this.value)">
                <option value="">請選擇年</option>
            </select>
            <select name="monthName" onchange="testMonth(this.value)">
                <option value="">請選擇月</option>
            </select>
            <select name="dayName">
                <option value="">請選擇日</option>
            </select>
        </form>
        <script>
            // 定義各個月份天數
            var monthTemp = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
            /**
             * 頁面完成加載完成後執行
             */
            window.onload = function() {
                // 獲取當前年份   
                var yearValue = new Date().getFullYear();
                // 獲取當前月份
                var monthValue = new Date().getMonth() + 1;
                // 以今年爲準,前30年,後30年 
                for(var i = (yearValue - 30); i <= (yearValue + 30); i++) {
                    document.dateInfo.yearName.options.add(new Option(" " + i + "", i));
                }

                // 月份的下拉框   
                for(var i = 1; i <= 12; i++) {
                    document.dateInfo.monthName.options.add(new Option(" " + i + "", i));
                }

                // 設定年份
                document.dateInfo.yearName.value = yearValue;
                // 設定月份
                document.dateInfo.monthName.value = monthValue;
                // 獲取當前月份的天數
                var dayValue = monthTemp[monthValue - 1];
                // 初始化日選項框
                initDay(dayValue, monthValue, yearValue);
                // 設置當前日
                document.dateInfo.dayName.value = new Date().getDate();
            }

            // 年發生變化時日期發生變化
            function testYear(yearValue) {
                // 獲取當前月份
                var monthValue = document.dateInfo.monthName.value;
                // 判斷月份是否被選中,若未選中,則重置日選項框
                if(monthValue == "") {
                    optionsClear(document.dateInfo.dayName);
                    return;
                }
                // 根據月份獲取天數
                var dayValue = monthTemp[monthValue - 1];
                // 初始化日選項框
                initDay(dayValue, monthValue, yearValue);
            }

            // 月發生變化時日期聯動   
            function testMonth(monthValue) {
                // 獲取當前年份
                var yearValue = document.dateInfo.yearName.value;
                // 判斷年份是否被選中,若未選中,則重置日選項框
                if(yearValue == "") {
                    optionsClear(document.dateInfo.dayName);
                    return;
                }
                // 根據月份獲取天數
                var dayValue = monthTemp[monthValue - 1];
                // 初始化日選項框
                initDay(dayValue, monthValue, yearValue);
            }

            // 初始化日選項框
            function initDay(dayValue, monthValue, yearValue) {
                // 判斷是不是2月份,而且判斷是否爲閏年
                if(monthValue == 2 && isLeapYear(yearValue)) {
                    dayValue++;
                }
                // 獲取當前日下拉框
                var e = document.dateInfo.dayName;
                // 重置下拉框
                optionsClear(e);
                // 填充日下拉框
                for(var i = 1; i <= dayValue; i++) {
                    e.options.add(new Option(" " + i + "", i));
                }
            }

            // 判斷是否閏平年   
            function isLeapYear(year) {
                // 閏年的定義是(可被4整除)且((不可被100整除)或(可被400整除))的年份
                return(year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
            }

            // 重置下拉框
            function optionsClear(e) {
                e.options.length = 1;
            }
        </script>
    </body>

</html>

 


MySQL 簡答題

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

經常使用的約束有主鍵約束,外鍵約束,惟一約束,默認約束 。 一、主鍵:PRIMARY KEY(主鍵字段)保證了實體完整性,一個表只有一個主鍵,但一個主鍵能夠包含多個字段,主鍵字段不能爲空; 二、惟一:UNIQUE(約束字段)保證了實體完整性,一個表有多個惟一約束,一個惟一約束可有包含多個字段; 三、外鍵:FOREIGN KEY(外鍵字段),保證了引用完整性,一個表能夠有多個外鍵; 四、默認值:DEFAULT(默認值的表達式或NULL),保證了域完整性,一個表能夠有多個默認值約束,可是一個字段只有一個默認值。mysql


Java 簡答題

數組(Array)和列表(ArrayList)有什麼區別?何時應該使用 Array 而不是 ArrayList?sql

一、存儲內容比較:
Array 數組能夠包含基本類型和對象類型,
ArrayList 卻只能包含對象類型。
Array 數組在存放的時候必定是同種類型的元素。ArrayList 就不必定了 。編程

二、空間大小比較:
Array 數組的空間大小是固定的,因此須要事前肯定合適的空間大小。
ArrayList 的空間是動態增加的,並且,每次添加新的元素的時候都會檢查內部數組的空間是否足夠。數組

3.方法上的比較:
ArrayList 方法上比 Array 更多樣化,好比添加所有 addAll()、刪除所有 removeAll()、返回迭代器 iterator() 等。this

適用場景:
若是想要保存一些在整個程序運行期間都會存在並且不變的數據,咱們能夠將它們放進一個全局數組裏, 可是若是咱們單純只是想要以數組的形式保存數據,而不對數據進行增長等操做,只是方便咱們進行查找的話,那麼,咱們就選擇 ArrayList。
若是咱們須要對元素進行頻繁的移動或刪除,或者是處理的是超大量的數據,那麼,使用 ArrayList 就真的不是一個好的選擇,由於它的效率很低,使用數組進行這樣的動做就很麻煩,那麼,咱們能夠考慮選擇 LinkedList。spa

相關文章
相關標籤/搜索