摘要:代碼無非是定義一些指令的集合讓計算機來執行我們常常將數據傳入計算機由指令對數據進行操作并最終產生一個結果當不得不修改數據時問題就來了任何時候你修改源代碼都會有引入的風險且值修改一些數據的值也會帶來一些不必要的風險因為數據時不應當影響指令的正
代碼無非是定義一些指令的集合讓計算機來執行. 我們常常將數據傳入計算機, 由指令對數據進行操作, 并最終產生一個結果. 當不得不修改數據時問題就來了. 任何時候你修改源代碼都會有引入bug的風險, 且值修改一些數據的值也會帶來一些不必要的風險, 因為數據時不應當影響指令的正常運行的. 精心設計的應用應當將關鍵數據從主要的源碼中抽離出來, 這樣我們修改源碼時才更加放心.
9.1 什么是配置數據
配置數據是應用中寫死的值.
// 配置參數埋藏在代碼中 function validate(value) { if(!value) { alert("非法的值"); location.href = "/errors/invalid.php"; } } function toggleSelected(element) { if(hasClass(element, "selected")) { removeClass(element, "selected"); }else { addClass(element, "selected"); } }
這段代碼中有三個配置數據片段. 第一個是字符串 "非法的值", 這個值是給用戶提示的. 所以它可能會被頻繁修改. 第二個是URL"/errors/incalid.php". 當架構變更時則可能頻繁修改. 第三個是CSS的類名"selected". 有三處都用到了className, 這意味著要修改這個類名要修改三處代碼. 很可能不小心丟掉了某處.
URL
需要展現給用戶的字符串
重復的值
設置 (比如每頁的配置項)
任何可能發生變更的值
配置數據時可發生變更的, 而且你不希望有人要改展示信息而去修改源碼.
9.2 抽離配置數據
將配置參數從代碼中抽離出來.
// 將配置參數抽離出來 var config = { MSE_VALUE: "非法的值", URL_INVALID: "/errors/invalid.php", CSS_SELECTED: "selected" } function validate(value) { if(!value) { alert(config.MSG_VALUE); location.href = config.URL_INVALID; } } function toggleSelected(element) { if(hasClass(element, config.CSS_SELECTED)) { removeClass(element, config.CSS_SELECTED); }else { addClass(element, config.CSS_SELECTED); } }
這樣修改它們就不會導致代碼出錯
9.3 保存配置數據
配置數據最好多帶帶在一個文件中. 這樣代碼清晰很多.
有很多方式, 不用js用別的語言要轉化為js識別語言.
JSON
JSONP
純JavaScript
有很多模塊導入方法import等等
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/92739.html
摘要:由于第四章太稀松平常了于是就直接跳到第五章了這里我就草草的說一下第四章的幾個點吧在嚴格模式的應用下不推薦將用在全局作用域中相等推薦盡量使用和守則如果是在沒有別的方法來完成當前任務這時可以使用原始包裝類型不推薦創建類型時用等創建類型從這一章節 由于第四章太稀松平常了, 于是就直接跳到第五章了.這里我就草草的說一下第四章的幾個點吧 在嚴格模式的應用下 不推薦將use strict;用在全...
摘要:在所有應用中事件處理都是非常重要的所有的均通過事件綁定到上所以大多數前端工程師需要花費很多時間來編寫和修改事件處理程序遺憾的是在誕生之初這部分內容并未受太多重視甚至當開發者們開始熱衷于將傳統的軟件架構概念融入到里時事件綁定仍然沒有收到多大重 在所有JavaScript應用中事件處理都是非常重要的. 所有的JavaScript均通過事件綁定到UI上, 所以大多數前端工程師需要花費很多時間...
摘要:首先,巧妙的使用這一標記,將游覽器從所有情況中分離出來。接著,再次使用將和分離開來,這樣已經獨立識別。元素不能用作語義用途以外的其他目的。Html1、Html5有哪些新特性,移除了哪些元素?如何處理HTML5新標簽的瀏覽器兼容問題?如何區別HTML和HTML5?HTML5 現在已經不是 SGML 的子集,主要是關于圖像,位置,存儲,多任務等功能的增加。拖拽釋放(Drag and drop) ...
摘要:程序是寫給人讀的只是偶爾讓計算機執行一下當你剛剛組建一個團隊時團隊中的每個人都各自有一套編程習慣畢竟每個成員都有著不同的背景有些人可能來自某個皮包公司身兼數職在公司里面什么事都做還有些人會來自不同的團隊對某種特定的做事風格情有獨鐘或恨之入骨 程序是寫給人讀的,只是偶爾讓計算機執行一下. Donald Knuth 當你剛剛組建一個團隊時,團隊中的每個人都各自有一套編程習慣.畢竟,...
摘要:所有的塊語句都應當使用花括號包括花括號的對齊方式第一種風格第二種風格塊語句間隔第一種在語句名圓括號和左花括號之間沒有空格間隔第二種在左圓括號之前和右圓括號之后各添加一個空格第三種在左圓括號后和右圓括號前各添加一個空格我個人喜歡在右括號之后添 所有的塊語句都應當使用花括號, 包括: if for while do...while... try...catch...finally 3....
閱讀 1176·2021-10-11 10:59
閱讀 1963·2021-09-29 09:44
閱讀 853·2021-09-01 10:32
閱讀 1423·2019-08-30 14:21
閱讀 1869·2019-08-29 15:39
閱讀 2972·2019-08-29 13:45
閱讀 3531·2019-08-29 13:27
閱讀 2005·2019-08-29 12:27