1. 程式人生 > >2018/10/18

2018/10/18

JavaScript 問答題

什麼是 NaN,它的型別是什麼?怎麼測試一個值是否等於 NaN?
NaN 是 Not a Number 的縮寫,JavaScript 的一種特殊數值,其型別是 Number,可以通過 isNaN(param) 來判斷一個值是否是 NaN:

使用 isNaN() 來判斷一個值是否是數字,若isNaN()為true則不是數字,false則為數字;
var Month=30;
alert(isNaN(Month));//結果false
首先,雖然 NaN 意味著“不是數字”,但是它的型別,不管你信不信,是 Number
console.log(typeof NaN === “number”); // logs “true”
此外, NaN 和任何東西比較——甚至是它自己本身!——結果是false
console.log(NaN === NaN); // logs “false”

MySQL 問答題

drop,delete 與 truncate 的區別?
相同點:
1.truncate和不帶where子句的delete,以及drop都能刪除表內的資料
2.truncate和delete只刪除表資料保留表結構
不同點:

  1. truncate table tablename
    刪除表內容釋放表空間保留表結構(即:只刪除表內的資料,不刪除表本身。相當於Delete語句不寫where子句一樣),不使用事務處理即和事務無關
    truncate 語句預設情況下將空間釋放到 minextents個 extent,
    除非使用reuse storage;truncate 會將高水線復位(回到最開始)。

  2. delete table tablename [where子句]
    delete屬於資料操作語言(DML),不能自動提交事務,需commit提交
    這個操作會放到 rollback segement 中,事務提交之後才生效;
    如果有相應的 trigger,執行的時候將被觸發。
    delete 語句不影響表所佔用的 extent,高水線(high watermark)保持原位置不動

  3. drop table tablename
    drop屬於資料定義語言(DDL)可以自動提交事務;
    drop 語句將刪除表的結構被依賴的約束(constrain)、觸發器(trigger)、索引(index)【刪除表資料同時刪除表結構】;
    依賴於該表的儲存過程/函式將保留,但是變為 invalid 狀態。
    drop 語句將表所佔用的空間全部釋放。
    刪除資料的速度,一般來說: drop> truncate > delete

Java 程式設計題

有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13… 求出這個數列的前 20 項之和

package com.dodoke;
public class Num {
public static void main(String[] args) {
double i = 0;
double j = 2;
double k = 1;
double x = 0;
for(double y = 1; y <= 20; y++) {
i += j/k;
x = j;
j =x + k;
k = x;
}
System.out.println(i);
}
}
在這裡插入圖片描述