摘要:最后一種方式深圳深圳大學廣東省北京北京大學北京市武漢武漢大學湖北省這種方式,應該也還是不錯的,可讀性強,但貌似寫的代碼多了一點。
小伙伴們在工作中會遇到這樣的場景:
有一組變量的值是根據其他某個值來改變的,也就是一一對應,比如:
var cityCode = "城市區號", cityName = "城市名稱", university = "最高學府", province = "所屬省份";
城市區號是具有唯一性的,而另外三個值和城市區號是已具有關聯性的。如果城市編號不確定,但咱們就得做判斷,一般有if...else,switch...case,如下:
if( cityCode == "0755") { cityName = "深圳"; university = "深圳大學"; province = "廣東省"; } else if( cityCode == "010") { cityName = "北京"; university = "北京大學"; province = "北京市"; } else if( cityCode == "027") { cityName = "武漢"; university = "武漢大學"; province = "湖北省"; }
或者:
switch (cityCode) { case "0755" : cityName = "深圳"; university = "深圳大學"; province = "廣東省"; break; case "010" : cityName = "北京"; university = "北京大學"; province = "北京市"; break; case "027" : cityName = "武漢"; university = "武漢大學"; province = "湖北省"; break; }
還有一種方式:
cityName = {"0755" : "深圳", "010" : "北京", "027" : "武漢"}[cityCode] || "沒有定義"; university = {"0755" : "深圳大學", "010" : "北京大學", "027" : "武漢大學"}[cityCode] || "沒有定義"; province = {"0755" : "廣東省", "010" : "北京市", "027" : "湖北省"}[cityCode] || "沒有定義";
相比上面兩種,這種方式的可讀性可能稍微差了那么一點點,可是簡潔了許多。
但還是重復了一些,根據城市編碼取了三個變量的值,結果每取一次,就要要寫一次城市編碼,反而不那么簡潔了。
最后一種方式:
var cityMode = { "0755" : { cityCode : "0755", cityName : "深圳", university : "深圳大學", province : "廣東省" }, "010" : { cityCode : "010", cityName : "北京", university : "北京大學", province : "北京市" }, "027" : { cityCode : "027", cityName : "武漢", university : "武漢大學", province : "湖北省" } }; cityName = cityMode[cityCode].cityNanme; university = cityMode[cityCode].university; province = cityMode[cityCode].province;
這種方式,應該也還是不錯的,可讀性強,但貌似寫的代碼多了一點。
以上,歡迎各位朋友指正,也希望能看到更好更簡潔的寫法。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79960.html
摘要:通過裝作這些變化,我們實現了從而到達了數據變化觸發函數的過程。于此同時,我們還實現了來擴展這個可響應的結構,讓這個對象擁有了觸發和響應事件的能力。最后,根據我們的實現,這是最終的產出,一個框架,了解一下系列文章地址優化優化總結 看這篇之前,如果沒有看過之前的文章,移步拉到文章末尾查看之前的文章。 provide / inject 在上一步我們實現了,父子組件,和 props 一樣 pr...
摘要:二調試過程經過后發現,在類型數值比較中使用的是,咋看之下沒啥問題,其實是有問題的在這里為包裝類,是一個對象。使用包裝類重寫過的方法就可以正確對包裝類型的數值正確進行判斷了。 一、問題描述 在一次對樹形結構的數據遍歷中,出現了樹形變亂的問題,在此遍歷的ID采用Long類型,在數值比較中達到某個界定值后,樹形結構變形。 showImg(https://segmentfault.com/im...
摘要:上顯示出來時間本地系統顯示時間發送前控制臺打印出來瀏覽器網絡中監測顯示解決方案只有在發送時間類型的數據時會進行轉換,導致相差個小時,但是我發送前就將其轉換成字符串,就不會造成這樣的結果了。 創建時間 使用new Date(),可以看見有5種構造函數 showImg(https://segmentfault.com/img/remote/1460000013946509); co...
摘要:在中關于如何實現在網上可以搜出不少,在看了部分源碼后,梳理一下內容。換個說法,當我們取值的時候,函數自動幫我們添加了針對當前值的依賴,當這個值發生變化的時候,處理了這些依賴,比如說節點的變化。 在 VUE 中關于如何實現在網上可以搜出不少,在看了部分源碼后,梳理一下內容。 首先,我們需要了解一下 js 中的一個 API :Object.defineProperty(obj, prop,...
摘要:入門系列之位置及相對位置事件坐標寫過代碼的一般都知道,在頁面操作中,坐標概念是一個很重要的概念,幾乎所有的頁面交互都牽扯到坐標的概念。,及表示的是事件觸發點相對于事件發生所在節點左上角的位置。我們可以通過獲取到元素相對于文檔的位置信息。 js入門系列之 位置及相對位置事件坐標 寫過代碼的一般都知道,在頁面操作中,坐標概念是一個很重要的概念,幾乎所有的頁面交互都牽扯到坐標的概念。尤...
閱讀 3144·2021-11-22 12:01
閱讀 3767·2021-08-30 09:46
閱讀 782·2019-08-30 13:48
閱讀 3209·2019-08-29 16:43
閱讀 1656·2019-08-29 16:33
閱讀 1846·2019-08-29 13:44
閱讀 1410·2019-08-26 13:45
閱讀 2227·2019-08-26 11:44