




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、缓存变量DOM的遍历是非常昂贵的,所以尽量缓存一些可能会被重新用到的变量。/ badh = $('#element').height();$('#element').css('height',h-20); / good$element = $('#element');h = $element.height();$element.css('height',h-20); 避免全局变量使用jQuery和使用javascript一样,最好确保你的变量在你的函数作用域内。/ bad$element = $
2、('#element');h = $element.height();$element.css('height',h-20); / goodvar $element = $('#element');var h = $element.height();$element.css('height',h-20); 使用匈牙利命名法在变量前加上一个$符号,很容易看出来这是一个jQuery变量。/ badvar first = $('#first');var second = $('#second&
3、#39;);var value = $first.val(); / better - we use to put $ symbol before jQuery-manipulated objectsvar $first = $('#first');var $second = $('#second'),var value = $first.val(); 使用 Var 链(单 Var 模式) 不要使用多个var声明,可以将它们合并为一个var声明,建议将没有指定值的变量放在最后。var $first = $(
4、9;#first'), $second = $('#second'), value = $first.val(), k = 3, cookiestring = 'SOMECOOKIESPLEASE', i, j, myArray = ; 最好使用on 绑定事件最新版本的jQuery已经将click()改变为函数on('click')的简写。在之前的版本中实现的不同,click(
5、)简写bind()。在jQuery 1.7中,on()是首选方法用于附加事件处理程序。然而,对于一致性可以简单地使用on()。/ bad$first.click(function() $first.css('border','1px solid red'); $first.css('color','blue');); $first.hover(function() $first.css
6、('border','1px solid red');) / better$first.on('click',function() $first.css('border','1px solid red'); $first.css('color','blue');) $first.on('hover',function() &
7、#160;$first.css('border','1px solid red');) 压缩精简javascript一般来说,我们要尽可能的合并函数/ bad$first.click(function() $first.css('border','1px solid red'); $first.css('color','blue');); / better$first.on('cl
8、ick',function() $first.css( 'border':'1px solid red', 'color':'blue' ););使用链式操作根据上面的规则,jQuery很容易将方法链接在一起,我们要利用这一优点。/ bad$sec
9、ond.html(value);$second.on('click',function() alert('hello everybody'););$second.fadeIn('slow');$second.animate(height:'120px',500); / better$second.html(value);$second.on('click',function() alert('hello e
10、verybody');).fadeIn('slow').animate(height:'120px',500);保持代码的可读性当精简了javascript代码和使用了链式操作,你的代码有时候会变得不可读,尽量使用缩进和换行使代码变得漂亮些。/ bad$second.html(value);$second.on('click',function() alert('hello everybody');).fadeIn('slow').animate(height:
11、'120px',500); / better$second.html(value);$second .on('click',function() alert('hello everybody');) .fadeIn('slow') .animate(height:'120px',500);使用短路求值短路求值是一个从左到右求值的表达式,用 &&(逻辑与)
12、或 | (逻辑或)操作符。/ badfunction initVar($myVar) if(!$myVar) $myVar = $('#selector'); / betterfunction initVar($myVar) $myVar = $myVar | $('#selector');使用快捷的方式精简代码的方
13、式之一就是利用一些编码捷径。/ badif(collection.length > 0). / betterif(collection.length).复杂的操作要分离元素如果对DOM元素做大量操作(连续设置多个属性或css样式),建议首先分离元素然后在添加。/ badvar $container = $("#container"), $containerLi = $("#container li"),
14、;$element = null; $element = $containerLi.first(); /. a lot of complicated things / bettervar $container = $("#container"), $containerLi = $container.find("li"), $element = null; $element = $conta
15、inerLi.first().detach(); /.a lot of complicated things$container.append($element);了解技巧你可能对使用jQuery中的方法缺少经验,一定要查看的文档,可能会有一个更好或更快的方法来使用它。/ bad$('#id').data(key,value); / better (faster)$.data('#id',key,value);使用子查询缓存的父元素像之前提到的一样,DOM的遍历的代价很大,典型做法是缓存父元素并在选择子元素时重用这些缓存元素。/ badvar
16、; $container = $('#container'), $containerLi = $('#container li'), $containerLiSpan = $('#container li span'); / better (faster)var $container = $('#container '),
17、60; $containerLi = $container.find('li'), $containerLiSpan= $containerLi.find('span');避免通用选择符当和其他的选择符一起使用时,通用选择符非常的慢。/ bad$('.container > *'); / better$('.container').children();避免使用隐式通用选择符当你漏下了选择符,通用选择符(*)仍然起作用/ bad$('.somecla
18、ss :radio'); / better$('.someclass input:radio');优化选择符例如,Id选择符应该是唯一的,所以没有必要添加额外的选择符。/ bad$('div#myid'); $('div#footer a.myLink'); / better$('#myid');$('#footer .myLink');避免多个ID选择符再次强调ID 选择符应该是唯一的,不需要添加额外的选择符,更不需要多个后代ID选择符。/ bad$('#outer #inner');
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁路建设工程监理公司股权合作投资合同
- 幼儿园教师岗位聘用合同(特殊儿童教育支持)
- 电商品牌网店及账户分割与渠道管理合同
- 子女饮食健康辅导营养协议
- 企业间债务凭证转让与债权债务处理合同
- 智能电网分布式光伏电站EPC总承包与环保验收合同
- 区块链节点服务器租赁与区块链版权保护解决方案合同
- 网络平台用户数据加密及安全保密协议
- 跨国房产投资收益汇回资金监管合同
- 绿色生态城市绿道与景观节点建造与维护服务合同
- 2024山东能源集团中级人才库选拔公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 化工和危险化学品生产经营单位二十条重大隐患判定标准释义(中化协)
- 课本剧哈姆雷特剧本
- 中国医疗器械发展史
- 2024企业网络安全意识培训
- 苏科版八年级数学下册题型突破提高类型五、反比例函数与一次函数结合求不等式解集与面积(原卷版+解析)
- 动态血糖管理-动态血糖监测CGM
- 2023年江苏无锡市初中学业水平考试地理试卷真题(答案详解)
- 愚公移山英文 -中国故事英文版课件
- GB/T 4744-2013纺织品防水性能的检测和评价静水压法
- GB/T 24267-2009建筑用阻燃密封胶
评论
0/150
提交评论