zoukankan      html  css  js  c++  java
  • 推荐一篇好文加上一些补充

      刚刚看了一篇《JavaScript代码优化指南》(http://www.cnblogs.com/HCJJ/p/6218385.html)。

      写JS代码确实有很多小技巧,如果根据日期远远及近看我的博客里的我自己写的一些“小东西”,可以发现我写的JS代码在一些细节处理上是不断变化的,当你知道一个更好的代码书写或处理方式,那为什么不尝试着去用下呢。在我写这篇博文前最新的写的贪吃蛇的代码里,可以看到变量声明合并,建立一个对象来保存全局变量,缓存DOM,缩短循环检测,使用文档碎片等等都是已经用到了的小技巧。而这篇文章里还提到了更多的技巧,比如取整我常用的是parseInt(),而文章则提出使用~符号,~~num的效果就是取整,具体原理可以自行搜索。

      这篇文章12.2中提到的语句块的函数声明我曾在知乎上提问过相同的问题(https://www.zhihu.com/question/53191567)。

      再说一些这篇文章里没有提到的:

        do-while循环是要比for循环效率高的,虽然只高一点点,在循环终止判断上do-while是“后测试”,而for是“前测试”,所以do-while可以比for少一次判断。但是do-while循环不能像for循环那样有多个判定条件。

        在使用for循环时,使用类似for ( var i = length; i > 0; i--) 要比 for (var i = 0, l = length; i > l; i++) 要更好,因为前者的时间复杂度是从O(n)到O(0),而后者则相反。

        当循环的次数是确定的,那么多次调用处理函数(而不是放循环里)往往会更快;当循环中的迭代次数并且最坏情况下次数较大,那么可以使用Duff装置,Duff装置的原理比较简单,可以自行百度。

      写到这里就又想说好好学一本经典的好书对于编程能力的提升是巨大的,比如《JavaScript高级程序》,推荐的那篇文章以及我写的博文提到的大部分都可以在这本书里找到。

  • 相关阅读:
    Flask学习 1创建第一个页面
    Flask教程
    微信服务号认证和不认证的区别
    python保存selenium的cookies写入和读出
    centos 无界面安装selenium+chrome+chromedirver的设置
    win7系统下安装Splash。
    ubuntu mysql5.6二进制安装
    Python socket实现处理多个连接
    Python 简单soket例子
    Python socket网络编程(通信介绍)
  • 原文地址:https://www.cnblogs.com/youyouluo/p/6226828.html
Copyright © 2011-2022 走看看