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灯, 水草

请输入看板名称,例如:iOS 或 站内搜寻

TOP