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