js本身的局限性 別讓javascript做太多事
更新時間:2010年03月23日 23:46:43 作者:
最近常有人在Q群里發(fā)問諸如"怎樣讓js操作文件"、"怎樣讓js實現(xiàn)多線程"等問題。
甚至有個人問我“頁面上有5個文本框,每個文本框只能輸入一個字符,怎么用js實現(xiàn)用戶輸入第一個文本框的后焦點自動跳到第二個。”。
我說這個功能不是應該是Tab做的嗎?用戶輸入后只要按一下Tab鍵就可以了,而且,這樣用戶還可以控制是否切換到下一個(因為用戶也有輸入錯誤的可能)。
但他執(zhí)意堅持,說是老板要求的。我最后只好幫他把這個功能實現(xiàn)了。但就是感覺怪怪的。
以前剛剛會用js時,感覺js好神奇,可以把一些很復雜的功能變得簡單而輕松。后來慢慢知道js有很多事情不能做,像操作客戶端的文件等。
那時還經(jīng)常報怨為什么別的語言可以實現(xiàn)的功能偏偏js不能實現(xiàn),于是自己做了很多一些本不應該是js做的事情。
有一次,我為了讀取一個資源文件,用js洋洋灑灑的寫了幾百行代碼,結果只是讀取了xml中的一行內(nèi)容,后來返回去改時發(fā)現(xiàn)之前寫的代碼用vb.net或C#實現(xiàn)不超過5行就可以實現(xiàn)。
我覺得js不宜做太多額外的事件還有原因一個是js本身的局限性--js是在客戶端運行的,所有代碼都是發(fā)到客戶機器執(zhí)行的。如此一來,一些像加密用戶數(shù)據(jù)的邏輯就更不應該在js里實現(xiàn)了。
我說這個功能不是應該是Tab做的嗎?用戶輸入后只要按一下Tab鍵就可以了,而且,這樣用戶還可以控制是否切換到下一個(因為用戶也有輸入錯誤的可能)。
但他執(zhí)意堅持,說是老板要求的。我最后只好幫他把這個功能實現(xiàn)了。但就是感覺怪怪的。
以前剛剛會用js時,感覺js好神奇,可以把一些很復雜的功能變得簡單而輕松。后來慢慢知道js有很多事情不能做,像操作客戶端的文件等。
那時還經(jīng)常報怨為什么別的語言可以實現(xiàn)的功能偏偏js不能實現(xiàn),于是自己做了很多一些本不應該是js做的事情。
有一次,我為了讀取一個資源文件,用js洋洋灑灑的寫了幾百行代碼,結果只是讀取了xml中的一行內(nèi)容,后來返回去改時發(fā)現(xiàn)之前寫的代碼用vb.net或C#實現(xiàn)不超過5行就可以實現(xiàn)。
我覺得js不宜做太多額外的事件還有原因一個是js本身的局限性--js是在客戶端運行的,所有代碼都是發(fā)到客戶機器執(zhí)行的。如此一來,一些像加密用戶數(shù)據(jù)的邏輯就更不應該在js里實現(xiàn)了。
相關文章
fckeditor部署到weblogic出現(xiàn)xml無法讀取及樣式不能顯示問題的解決方法
這篇文章主要介紹了fckeditor部署到weblogic出現(xiàn)xml無法讀取及樣式不能顯示問題的解決方法,分析了問題出現(xiàn)的原因及相關配置文件設置技巧,需要的朋友可以參考下2017-03-03獲取頁面高度,窗口高度,滾動條高度等參數(shù)值getPageSize,getPageScroll
獲取頁面高度,窗口高度,滾動條高度等參數(shù)值getPageSize,getPageScroll...2006-09-09Javascript中JSON數(shù)據(jù)分組優(yōu)化實踐及JS操作JSON總結
這篇文章主要介紹了Javascript中JSON數(shù)據(jù)分組優(yōu)化實踐,文中還對JS操作JSON的要領做了總結,需要的朋友可以參考下2017-12-12JavaScript 數(shù)組- Array的方法總結(推薦)
下面小編就為大家?guī)硪黄狫avaScript 數(shù)組- Array的方法總結(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07JavaScript中async與await實現(xiàn)原理與細節(jié)
這篇文章主要介紹了JavaScript中async與await實現(xiàn)原理與細節(jié),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09