吕布的武器叫什么| 什么食粮| vg是什么意思| 为什么会肾虚| 上嘴唇上有痣代表什么| ufo是什么意思| 士多啤梨是什么水果| 精子什么味| 肾阳虚什么症状| 培坤丸有什么作用功效| 却的偏旁叫什么| 老睡不着觉是什么原因| 口腹蜜剑什么意思| 两面人是什么意思| 密送是什么意思| 频发房性早搏是什么意思| 意欲何为是什么意思| 痔疮手术后可以吃什么水果| 仁波切是什么意思| 去心火吃什么药| 什么情况下需要安装心脏起搏器| 为什么会抽搐| s999是什么意思| 腺肌症吃什么药效果好| 五险一金什么时候开始交| 褐色是什么颜色的图片| 发烧看什么科室| 尿酸高是什么问题| 7月1号是什么星座| 荨麻疹可以吃什么水果| 什么情况下需要打破伤风针| 明年属什么生肖| 雪菊有什么功效| 苹果绿是什么颜色| 乳杆菌是什么| upup是什么意思| 左边头痛什么原因| gl小说是什么意思| 布朗是什么水果| 孩子肚子疼挂什么科| 西安有什么玩的| 支原体是什么| 属龙跟什么属相最配| 甲母痣是什么| 右侧肋骨下面是什么器官| 女人喝白茶有什么好处| 鳖吃什么食物| 阴虚内热吃什么药好| 什么是工作性质| 10月17日什么星座| 520是什么意思表白| color是什么意思| 乌合之众什么意思| 大象是什么意思| 什么是梅尼埃病| 阿昔洛韦乳膏治什么| 结缔组织是什么| 孕妇缺铁性贫血对胎儿有什么影响| 脂蛋白a高是什么意思| 有什么有什么| 孩子低烧吃什么药| 生男孩女孩取决于什么| 脑电图能检查出什么疾病| 梦见打别人是什么意思| 眼睛干涩有异物感用什么眼药水| 家庭出身是什么| 张飞穿针的歇后语是什么| 骨折和断了有什么区别| 眼睫毛脱落是什么原因| 什么的北京城| 凝固是什么意思| 两个人背靠背是什么牌子| 什么是马克杯| 情商低是什么意思| 脂肪肝浸润是什么意思| 自汗恶风是什么意思| 十万个为什么儿童版| 纪年是什么意思| 扁桃体发炎能吃什么水果| 你在看什么| 周边是什么| 突然和忽然有什么区别| 铃字五行属什么| tmd什么意思| 扁桃体为什么会发炎| 贤内助什么意思| 手指甲有黑色条纹是什么原因| 手指甲有竖纹是什么原因| 香港为什么不用人民币| 朝野是什么意思| 天珠是什么材质| 鸡眼用什么药好| 七喜是什么饮料| 射精快是什么原因| 心脏ct能检查出什么| 皮肤炎症用什么药| 欣赏什么| lamer是什么牌子| 一吃东西就肚子疼是什么原因| 知了有什么功效与作用| 手抖吃什么药最好| 520是什么日子| 肠化十是什么意思| 什么时候泡脚最好| 农历7月20日是什么星座| 活检是什么| 桥本甲状腺炎是什么| 尿电导率低是什么意思| 什么头蛇尾| 耗儿鱼是什么鱼| 头眩晕看什么科| 心口疼挂什么科| 通勤是什么意思| 簸箕是什么东西| 肛门出血什么原因| 身体安康什么意思| 什么是人生| 胎发什么时候剃最合适| 6月初三是什么日子| 戴银镯子对身体有什么好处| 男性全身皮肤瘙痒是什么原因| 碗打碎了预示着什么| 胎儿胆囊偏小有什么影响| 什么气组词| 腊排骨炖什么好吃| 非分之想是什么意思| ky是什么| 乙肝核心抗体阳性说明什么| 补办护照需要什么材料| 脑萎缩是什么原因引起的| 拉肚子能吃什么菜| 尿素偏低是什么原因| 什么是粒子植入治疗| 西双版纳有什么好玩的| 吃什么都拉肚子怎么回事| 晚上饿了吃什么不长胖| 肛瘘是什么意思| 三伏天吃什么水果好| 梦见买衣服是什么预兆| 嵌顿是什么意思| 屁眼火辣辣的疼是什么原因| 浑身无力是什么原因| 治愈是什么意思| 疗养是什么意思| 熊猫属于什么科| 生活补贴是什么意思| 血尿是什么原因引起的| 3月23日什么星座| 梦见骡子是什么意思| 什么叫心肌桥| 慢阻肺是什么病| 火疖子挂什么科| mts是什么意思| 妈妈弟弟的儿子叫什么| 胃酸吃什么好| 青光眼什么症状| 六味地黄丸是治什么的| 红糖荷包蛋有什么功效| 维生素b12治什么病| 什么是化学性肝损伤| 什么是龟头炎| 脸部爱出油是什么原因| 是什么表情| 孕妇牙痛有什么办法| 恐龙蛋是什么水果| 什么牌子的耳机音质效果最好| 舌苔黄是什么原因引起的| 金陵十三钗是什么意思| 319是什么意思| 糖类抗原125偏高说明什么| 不怕流氓什么就怕流氓有文化| 急性喉炎吃什么药| 什么叫做质量| 什么时候初伏第一天| 节操什么意思| ader是什么牌子| 什么钙片好| 梦见自己扫地是什么意思| 阴虱长什么样子| 处方药是什么标志| 为什么耳朵后面会臭| 阴茎出血是什么原因| 刺身是什么意思| 焘是什么意思| 右肾小结石是什么意思| 6月17什么星座| 乌鸦反哺是什么意思| hcg阴性是什么意思| 胀气打嗝是什么原因| 老化是什么意思| 好高什么远| 皮肤瘙痒是什么病的前兆| 彩虹为什么有七种颜色| gpd是什么意思| 万圣节为什么要送糖果| 爱马仕是什么牌子| 心血虚吃什么中成药| 月下老人什么意思| 送情人什么礼物最好| 神经炎吃什么药| 甲己合化土什么意思| 蔡字五行属什么| 长白头发缺什么维生素| 为什么突然长痣| 艳羡是什么意思| 吊销驾驶证是什么意思| 寡欲是什么意思| 孕妇喝什么茶对胎儿好| 活碱是什么| 例假期间吃什么减肥| 宫外孕有什么危害| 下场是什么意思| 在编是什么意思| 长方脸适合什么样的发型| 做梦放鞭炮什么意思| 试纸什么时候用最准确| fazeya是什么牌子| 生死有命富贵在天什么意思| 五行海中金是什么意思| 严惩不贷是什么意思| 两个人可以玩什么游戏| 什么东西吃蟑螂| 为什么会子宫内膜增厚| legion什么牌子| 什么心什么目| 牙齿痛挂什么科| 女孩小名叫什么好| 什么是石女| 微信什么时候开始的| 素字五行属什么| 肠息肉是什么症状| 黑色记号笔用什么能擦掉| 社会抚养费是什么意思| 肚子大是什么原因| 老烂腿抹什么药膏最好| 什么是胆红素| 生孩子送什么花| 宠辱不惊是什么意思| 梦见水果是什么意思| 肠胀气是什么原因引起的| 正财透干是什么意思| 火龙果有什么好处| 附件是什么部位| 口大是什么字| 今年天热的原因是什么| 封闭是什么意思| 愿闻其详是什么意思| 梦到装修房子是什么征兆| 反流性食管炎有什么症状| 馥字五行属什么| junior是什么意思| 雅戈尔男装什么档次| 神父是什么意思| 产妇喝什么汤下奶最快最多| 牙膏什么牌子好| 什么的劝告| 1.15是什么星座| 火鸡面为什么那么辣| 高考准考证有什么用| 屁股上长痘痘是什么原因| 结肠炎吃什么药效果最好| 黄精泡水喝有什么功效| 为什么睾丸一边大一边小| 一九七八年属什么生肖| 百度跳转到内容

小号福利将不再 韩服体验服更新淘汰支援兵系统

本页使用了标题或全文手工转换
维基百科,自由的百科全书
百度 以往乐队通过队形调整,可以让长号乐手往后站。

非侵入式JavaScript[1]是一种将JavaScriptHTML结构抽离的设计概念,避免在HTML标签中夹杂一堆onchange、onclick等属性去挂载JavaScript事件,让HTML与JavaScript分离,依模型-视图-控制器的原则将功能权责清楚区分,使HTML也变得结构化容易阅读。这个名称并不是正式定义,它的基本原则包括:

新范型

[编辑]

行为与文件标签的分离

[编辑]

传统上,JavaScript脚本通常与HTML文件的标签放在一起。例如,以下是在HTML中注册JavaScript事件进程的典型方法:

<input type="text" name="date" onchange="validateDate()"/>

HTML标签的目的通常是描述文件的排版结构,而不是网页操作的程序行为。两者的结合或许会对网站的可维护性产生负面影响,例如将呈现和内容相结合。在HTML中建立和引用的JavaScript脚本行为,例如在单一元素上设置多个不同事件的进程,或在多个元素上设置相同的事件进程,或者在使用事件委派时,结果可能难以使用和维护。

非侵入式方案是以编程方式注册需要的事件进程,而不是和网页元素内嵌在一起。不同于前述那样添加一个onchange属性,相关的元素改用简单的标识,例如以classid属性和它们值当成脚本参考的标识,或标记中一些其它的方式:

<input type="text" name="date" id="date"/>

当页面首次加载到浏览器中时,执行的脚本可以查找每个相关元素,并相对应地进行设置:

window.addEventListener("DOMContentLoaded"function() {
    document.getElementById("date").addEventListener("change"function() {
        //code
    });
});

命名空间

[编辑]

非侵入式JavaScript应尽量减少将对象添加到运行环境,或全局的命名空间中。其它脚本有可能覆盖掉全局命名空间中,所建立的任何变量或函数;而这将导致发生不预期的结果时,却难以调试的困扰。JavaScript并没有内置明确的命名空间机制,但利用语言设计很容易可产生需求的效果。Flanagan建议以Java编程的开发风格,将开发人员自己的域名反转,作为全球独一的名前空间发布。

var org;
if (!org) {
    org = {};
} else if (typeof org != 'object') {
    throw new Error("org already exists and is not an object.");
}
if (!org.example) {
    org.example = {};
} else if (typeof org.example != 'object') {
    throw new Error("org.example already exists and is not an object.");
}

如在上面的org对象中,便可定义各种变量和函数。但还是建议在命名空间内,使用闭包进一步隔离,作为私有的变量和函数来使用,以共享接口回传每个函数作用的结果。上列代码可依照以下内容,改写为非侵入式:

org.example.Highlight = function() {
    // Define private data and functions
    var highlightId = 'x';
    function setHighlight(color) {
        document.getElementById(highlightId).style.color = color;
    }

    // Return public pointers to functions or properties
    // that are to be public.
    return {
        goGreen: function() { setHighlight('green'); },
        goBlue:  function() { setHighlight('blue'); }
    }
}(); // End closure definition and invoke it.

从任何其它的模块,可以调用这些共享接口的方法,如下列:

org.example.Highlight.goBlue();

var h = org.example.Highlight;
h.goGreen();

以这种方式,每个模块-开发人员的代码都包含在私有或唯一的命名空间中,并不会干扰或侵入任何其它代码。

最佳实务

[编辑]

非侵入式Javascript的本质是增加了分离的行为层概念,而且这范型的提倡者认同一些相关的原则,如下列:

  • DOM脚本,即遵循W3C DOM和事件模型,并避免使用某一浏览器特定的扩展。
  • 功能检测,即在使用特定功能之前先检查是否支持;对比相反于过去只检测客户端使用的浏览器(版本)。
  • 更一般来说,JavaScript最佳实务通常与其它编程语言(例如封装抽象层,避免全局变量,有意义的命名法约定,使用适当的设计模式式和系统测试)平行。这些原则对大规模软件工程开发非常重要,但过去的JavaScript设计过程中并不受重视。这些原则的采行,使JavaScript被认为是从“玩具”的脚本语言,转变为正规编程发展工具的重要组成。

参考文献

[编辑]
  1. ^ ASP.NET MVC 3高级编程. 清华大学出版社. 2012-06 [2025-08-08]. ISBN 978-7-302-28675-2. (原始内容存档于2025-08-08). 
  2. ^ Keith, Jeremy. Behavioral Separation. 2025-08-08 [2025-08-08]. (原始内容存档于2025-08-08). 
  3. ^ Olsson, Tommy. Graceful Degradation & Progressive Enhancement. 2025-08-08 [2025-08-08]. (原始内容存档于2025-08-08). 

外部链接

[编辑]

参见

[编辑]
耵聍栓塞是什么意思 善存片适合什么人吃 哮喘是什么病 成人达己是什么意思 后脑勺长白头发是什么原因
头左边痛是什么原因 什么牌子的冰箱最好 柳对什么 病逝是什么意思 植物神经紊乱用什么药
remax是什么牌子 水仙什么意思 潮喷是什么感觉 狗狗拉虫子又细又长吃什么药 误食干燥剂有什么危害
什么是节气 熊猫血是什么 嗓子疼吃什么药 蓝海是什么意思 性格好是什么意思
怀孕尿液是什么颜色hcv8jop1ns9r.cn 博士生导师是什么级别hcv9jop7ns9r.cn editor是什么意思hcv8jop6ns9r.cn 一什么花生hcv9jop2ns7r.cn 仰角是什么意思hcv7jop6ns6r.cn
湖南省的简称是什么hcv8jop2ns5r.cn birads3类是什么意思bysq.com 咬指甲是什么心理疾病hcv8jop1ns2r.cn 二便是什么意思tiangongnft.com 11月10日是什么星座hcv8jop9ns3r.cn
含什么什么苦hcv8jop5ns5r.cn 313什么意思hcv8jop9ns1r.cn 纹身纹什么招财好运hcv8jop5ns0r.cn 肠梗阻是什么意思hcv8jop7ns9r.cn 黄色上衣配什么颜色裤子hcv8jop4ns8r.cn
肾蕨是什么植物hcv9jop2ns5r.cn 儿童干咳吃什么药效果好hcv9jop7ns0r.cn hazzys是什么牌子价格hebeidezhi.com 周星驰什么星座hcv7jop5ns5r.cn 什么样的轮子只转不走hcv8jop0ns9r.cn
百度