初学者应该了解编程陷阱:javascript篇

初学者应该了解编程陷阱:javascript篇

ID:20333724

大小:48.00 KB

页数:5页

时间:2018-10-12

初学者应该了解编程陷阱:javascript篇_第1页
初学者应该了解编程陷阱:javascript篇_第2页
初学者应该了解编程陷阱:javascript篇_第3页
初学者应该了解编程陷阱:javascript篇_第4页
初学者应该了解编程陷阱:javascript篇_第5页
资源描述:

《初学者应该了解编程陷阱:javascript篇》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、六年老品牌值得信赖!!!对于初学编程语言的朋友来说,经常会犯一些比较“经典”的错误。在这一系列文章中,我们将介绍如何让初学编程的朋友避免一些基本的错误,并且了解如何正确的编程和开发代码。这一篇文章中,我们介绍5个javascript代码开发中需要注意的问题和技巧。冗余的DOM操作DOM操作众所周知是比较重量级的。有效的限制交互可以大大的帮助你提高你的代码的性能。看看下面这段代码://anti-patternfor(vari=0;i<100;i++){varli=$(“

  • ”).html(“Thisis

    2、listitem#”+(i+1));$(“#someUL”).append(li);}这段代码循环修改DOM100次,但是创建了100个jQuery对象。更好的方式是使用document片段,或者创建一个String来包含100个元素,然后再添加到DOM中去。这里你只需要执行一次DOM操作。优化后的代码:varliststring=“”;for(vari=100;i>0;i--){liststring+=“

  • Thisislistitem#”+(99-i);}document.getElementBy

    3、Id(“someUL”).innerHTML(liststring);以上代码只调用了一次DOM操作,但是大量使用了字符串的连接操作。除了使用字符串连接,我们可以使用数组来显示。varliststring=“

  • ”varlis=[];我们的使命:加速中国职业化进程!我们的价值观:感恩、专业、尽责、合作、超越六年老品牌值得信赖!!!for(vari=100;i>0;i--){lis.push(“Thisislistitem#”+(99-i));}liststring+=lis.join(“
  • 4、i>”)+“

  • ”;document.getElementById(“someUL”).innerHTML(liststring);当创建大量的字符串时,保存每一个字符串到数组里,然后调用join()方法来连接。在javascript中,这是不使用模板类库和框架外的最高效的字符串连接操作方式。在线调试变量和方法名不一致这可能不是一个性能问题,但是对于编程来说非常重要,特别是当你需要维护别人的代码。看看如下例子:varfoo=“bar”;varplant=“green”;varcar=“red”;如果你

    5、再添加一个变量叫“something”可能就不是那么合适了,你应该保持命名的一致。这也就是为什么在一些编程语言中,我们使用大写变量名来代表常量。对于方法来说,我们也需要保持一致,如下:functionsubtractFive(number){returnnumber-5;}如果你有一个以上的减5方法,那么你如果定义加5方法的话,应该使用如下命名方式:functionaddFive(number){returnnumber+5;}有时候如果你定义一个返回方法,那么一般使用getXXX(),如果你只是执行操作

    6、不返回,那么最好使用doXXX()方法名。我们的使命:加速中国职业化进程!我们的价值观:感恩、专业、尽责、合作、超越六年老品牌值得信赖!!!构造器方法最好使用类似其它语言的命名方式,首字母大写,如下:functionGbin1(color){this.color=color;}不管怎么,你都应该尽量的让你的命名更加富有意义,能够给别人更多的信息。在for..in循环中使用hasOwnProperty方法在javascript中数组是不关联的。而对象来说是hashtable类型的。你可以使用for。..in

    7、循环来迭代对象属性。如下:for(varpropinsomeObject){alert(someObject[prop]);//alert‘svalueofproperty}但是问题在于,以上代码会循环proptypechain中的所有的属性,有时候这样会出错,你可能只想使用实际存在的属性。使用hasOwnProperty方法可以帮助你解决这个问题。for(varpropinsomeObject){if(someObject.hasOwnProperty(prop)){alert(someObject[p

    8、rop]);//alert‘svalueofproperty}}这个方法可以帮助你得到实际存在的属性值。比较boolean值比较boolean值非常浪费计算时间。看看下面这个例子:if(foo==true){//dosomethingfortrue}else{//dosomethingforfalse我们的使命:加速中国职业化进程!我们的价值观:感恩、专业、尽责、合作、超越六年老品牌值得信赖!!!}注意上面的==true条件,

  • 当前文档最多预览五页,下载文档查看全文

    此文档下载收益归作者所有

    当前文档最多预览五页,下载文档查看全文
    温馨提示:
    1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
    2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
    3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
    4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。