中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)頁制作 > 14條最佳JS代碼編寫技巧
CSS Sprites(CSS雪碧):要還是不要? 回到列表 IE bug:1像素的dotted/dashed邊框
 14條最佳JS代碼編寫技巧

作者:Sofish 時(shí)間: 2009-11-09 文檔類型:翻譯 來自:幸福收藏夾

第 1 頁 14條最佳JS代碼編寫技巧 [1]
第 2 頁 14條最佳JS代碼編寫技巧 [2]
第 3 頁 14條最佳JS代碼編寫技巧 [3]
第 4 頁 14條最佳JS代碼編寫技巧 [4]
第 5 頁 14條最佳JS代碼編寫技巧 [5]

4. 避免 ‘eval’

在Javascript中,eval()功能是一個(gè)在執(zhí)行期中執(zhí)行任意代碼的方法。在幾乎所有的情況下,eval 都不應(yīng)該被使用。如果它出現(xiàn)在你的頁面中,則表明你所做的有更好的方法。舉一個(gè)例子,eval 通常被不知道要使用方括號記法的程序員所使用。

原則上,”Eval is evil(Eval是魔鬼)”。別使用它,除非你是一個(gè)經(jīng)驗(yàn)豐富的開發(fā)者并且知道你的情況是個(gè)例外。

5. 正確地引用表單和表單元素

所有的 HTML 表單都應(yīng)該有一個(gè) name 屬性。對于 XHTML 文檔來說,name 屬性是不被要求的,但 Form 標(biāo)簽中應(yīng)有相應(yīng)有 id 屬性,并必須用 document.getElementById() 來引用。使用像 document.forms[0] 這樣的索引方法來引用表單,在幾乎所有情況下,是一個(gè)糟糕的做法。有些瀏覽器把文檔中使用 form 來命名的元素當(dāng)作一個(gè)可用的 form 屬性。這樣并不可靠,不應(yīng)該使用。

下面這個(gè)例子用使用方括號和正確的對象引用方法來展示如何防止錯(cuò)誤地引用一個(gè)表單的input:

正確引用表單 Input

document.forms["formname"].elements["inputname"]

糟糕的做法:

document.formname.inputname

如果你要引用一個(gè)函數(shù)里的兩個(gè)表單元素,較好的做法是先引用這個(gè)form對象,并將其儲存在變量中。這樣避免了重復(fù)查詢以解決表單的引用:

var formElements = document.forms["mainForm"].elements;
formElements["input1"].value="a";
formElements["input2"].value="b";

當(dāng)你使用 onChange 或者其他類似的事件處理方法,一個(gè)好的做法是總是通過一個(gè)引來把 input 元素本身引用到函數(shù)中來。所有 input 元素都帶有一個(gè)對包含其在內(nèi)的Form表單有一個(gè)引用:

<input type="text" name="address" onChange="validate(this)">

function validate(input_obj) {
   // 引用包含這個(gè)元素的form
   var theform = input_obj.form;
   // 現(xiàn)在你可以不需要使用硬代碼來引用表單自身
   if (theform.elements["city"].value=="") {
      alert("Error");
   }
}

通過對表單元素的引用來訪問表單的屬性,你可以寫一個(gè)不包含硬代碼的函數(shù)來引用這個(gè)頁面中任何一個(gè)有特定名的表單。這是一個(gè)非常好的做法,因?yàn)楹瘮?shù)變得可重用。

避免 ‘with’

Javascript 中的 with 聲明在一個(gè)作用域的前端插入一個(gè)對象,所以任何屬性/變量的引用將會倚著對象被首先解決。這通常被用作一個(gè)避免重復(fù)引用的快捷方法:

使用 with 的例子:

with (document.forms["mainForm"].elements) {
   input1.value = "junk";
   input2.value = "junk";
}

但問題在于程序員并沒有方法來驗(yàn)證 input1 或 input2 實(shí)際上已經(jīng)被當(dāng)作 Form 元素?cái)?shù)組的屬性來解決。它首先以為這些名來檢測屬性,如果找不到,它將會繼續(xù)(向下)檢測這個(gè)作用域。最后,它在全局對象中嘗試把input1 和 input2 作為一個(gè)全局對象來對待,而這以一個(gè)錯(cuò)誤作為結(jié)尾。

變通的方法是:創(chuàng)建一個(gè)引用來減少引用的對象,并使用它來解決這些引用。

使用一個(gè)引用:

var elements = document.forms["mainForm"].elements;
elements.input1.value = "junk";
elements.input2.value = "junk";

出處:幸福收藏夾
責(zé)任編輯:bluehearts

上一頁 14條最佳JS代碼編寫技巧 [2] 下一頁 14條最佳JS代碼編寫技巧 [4]

◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。

相關(guān)文章 更多相關(guān)鏈接
JavaScript顏色梯度和漸變效果改進(jìn)
JavaScript組件之旅:測試組件
JavaScript組件之旅:用Ant構(gòu)建組件
JavaScript圖片放大效果詳解
JS實(shí)現(xiàn)2D桌球小游戲
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大福“敬•自然”設(shè)計(jì)大賽開啟
國際體驗(yàn)設(shè)計(jì)大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個(gè)可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:3/51個(gè)記錄/頁 轉(zhuǎn)到 頁 共5個(gè)記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2