Web_Design 板


LINE

※ 引述《tingmeow (喵東喵西)》之銘言: : 看O'REILLY的書 JavaScript深入淺出有點看不懂 : 在這一頁 p.293 : 存取表單資料 : 為了取用輸入表單的資料,首先需要區分表單中每個欄位。這點可利用HTML : 碼的id或name屬性(或兩者並用)處理。 : <input id="zipcode" name="zipcode" type="text" size="5"> : 表單欄位具有兩種識別方式的原因,均與取用表單單位的途徑有關 : 第一種途徑使用getElementById()--可取用網頁上任何組件的函式。 : 這個方式沒問題,但還有更簡單、更針對表單設計的途徑。 : 每個表單欄位都有一個form物件,可被傳給任何驗證表單資料的函式。 : <input id="zipcode" name="zipcode" type="text" size="5" : onclick="showIt(this.form)"> 直接在html tag上寫onclick、onmousedown等標籤事件時 瀏覽器會將""內的javascript程式以類似eval的方式執行 但此scope內的this不再是指向global物件(window) 而是該tag所代表的元素本身 以上面的語法為例,當使用者點擊該input的時候 相當於執行下面的程式碼 <script> showIt(document.getElementById('zipcode').form); </script> 而幾乎所有表單元素,都具有form屬性,指向其屬於的form元素 因此上面的程式碼可以翻譯成:  [這裡有一個input元素]:     點擊我的時候,請執行global物件底下的shotIt函式,     並將我的上層form元素當成函數參數傳過去。 : form物件勵害的地方,在於它也是個陣列,負責儲存表單中所有欄位 : 但它的陣列元素並非利用數值索引儲存;而是使用欄位獨有、於name : 屬性設定的識別字。假設form物件以引數theForm為名,傳給某個函式, : 則輸入郵遞區號欄位(ZIP code)的值將以下列方式存取: : function showIt(theForm) { : alert(theForm["zipcode"].value); : } 上面的程式碼則可以翻譯成:  [我在這裡(global)註冊一個名叫shotIt的function(函式)]:    我假設有人叫我的時候會順便丟給我一個名叫theForm的變數,    而且我假設theForm這個變數會是一個物件,    (如果你沒丟給我theForm或你丟給我的theForm不是物件我就爆炸給你看)    每次有人叫我的時候,我就會去讀theForm這個變數的zipcode屬性    我再次假設theForm的zipcode屬性也是一個物件,    (如果theForm的zipcode屬性裡沒東西或不是一個物件我也爆炸給你看)    然後去讀theForm的zipcode的value屬性,再alert出來 嗯,翻譯完畢, 如果你看得懂的話,看到上面有這麼多會爆炸的情況, 就該知道這段程式碼不是一個好程式碼 XD 等你對javascript有基本認知之後, 請去試著瞭解Unobtrusive JavaScript, 不然一但開始實作大型專案,就得小心程式天天爆炸給你看了 XD http://kewang.pixnet.net/blog/post/24177235 : --------------------------- : 看不太懂這邊在說什麼 : 我知道showIt是函式 在html那邊的引數怎麼是this.form 呢? : 然後在下面的函式的引數又不一樣了 : 我有看過物件跟什麼建構式和new operator,在這邊應該不是這個吧? : 這邊我不知道看了幾次都不太懂 : 新手上路,還請大家指點迷津Q Q : 大恩大德感激不盡~ <(__ __)> --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.21.137 ※ 編輯: mrbigmouth 來自: 220.134.21.137 (03/24 10:11)
1F:推 GoalBased:推推 Unobtrusive JavaScript 03/24 18:35
2F:→ GoalBased:可是我想問一下 這樣會有效率上的差異嗎? 03/24 18:36
3F:→ mrbigmouth:如果你說的是performance,那應該沒有太大差異 03/25 11:25
4F:→ mrbigmouth:主要是為了coding上的debug/變數佔用問題等 03/25 11:26
5F:推 tingmeow:感激感激,雖然乍看下還看不太懂,慢慢消化中,謝謝指點 03/26 14:44







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother 或 站內搜尋

TOP