JavaScript 入門指南 - 完成版的 Encode Software







































JavaScript 入門指南 - 完成版的 Encode Software






我們還有 SaveLoadEncodeDecodeClear 等五個按鈕還沒設置功能




完整範例請參考




Save 的指令為 "save" ,這裡我們用了個錯誤防範機制,原因是沒有按過 New 的話, encrypt 就不會有 showCode() 方法 (method) 可用
case "save":
if (encrypt == null) {
message = "No Encrypt object can save!!";
}
else {
document.cookie = "code=" + encrypt.showCode();
message = "The code is saved.";
}
break;



至於存入 Cookie 就用 documentcookie 屬性就行了, Cookie 字串 (string) 的寫法為 "code=" 加上密碼表字串,也就是 showCode() 的回傳值。


Load 的指令為 "load" ,同樣的,如果 document.cookie 為空字串的話,表示沒有存過檔,因此無法載入
case "load":
var t = document.cookie;
if (t == "") {
message = "Load denied!!";
}
else {
encrypt = new Encrypt();
t = t.substring(5);
encrypt.setCode(t)
message = "code: " + encrypt.showCode();
}
break;



實際載入是先取得 document.cookie 從索引值 5 之後的子字串,因為 Cookie 的開頭是 "code=" ,然後新建一個 Encrypt 物件,再呼叫 setCode() 設定密碼表。


Encode 的部份需要檢查 inputField.valueencrypt ,因為使用者沒有輸入或是沒有建立過 Encrypt 物件 (object) ,這些都無法讓編碼順利進行
case "encode":
userinput = inputField.value;

if (userinput == "") {
message = "No input string!!";
}
else {
if (encrypt == null) {
message = "No encrypt object!!";
}
else {
result = encrypt.toEncode(userinput);
message = "encoded result: " + result;
}
}
break;



Decode 的部份與 Encode 很相似,主要是把 toEncode() 換成 toDecode()
case "decode":
userinput = inputField.value;

if (userinput == "") {
message = "No input string!!";
}
else {
if (encrypt == null) {
message = "No encrypt object!!";
}
else {
result = encrypt.toDecode(userinput);
message = "decoded result: " + result;
}
}
break;



編碼或解碼都把結果儲存到 result ,然後在訊息欄顯示相關訊息。


Clear 將所有設定歸零
case "clear":
inputField.value = "";
encrypt = null;
userinput = "";
result = "";
message = "It's done.";
break;



玩一玩囉!每個按鈕都已經有功能



好了,我們已經完成 Encode Software ,下一步是?


















中英文術語對照
方法method
字串string
物件object



您可以繼續參考
網頁軟體開發




相關目錄

回 JavaScript 入門指南
回 JavaScript 教材
回首頁



參考資料

https://developer.mozilla.org/en-US/docs/JavaScript/Guide/JavaScript_Overview
http://www.w3schools.com/JS/js_intro.asp
http://www.tutorialspoint.com/javascript/javascript_overview.htm







沒有留言:




















window.___gcfg = { 'lang': 'zh-TW' };





Popular posts from this blog

VPN Gate Client 4.27.9668 (201805030) 簡體中文版 - 不限流量免費VPN軟體 手機可用公共VPN中繼伺服器

Tình cờ gặp nhau 3 lần trên một chuyến xe, tài xế bus kết hôn với nữ hành khách vì "có duyên phận"