如何提高将算法转换成javascript程序的能力
js写起来更方便。弄个node.js多练习吧。
如果用c写算法习惯了,将c相关的习惯去掉,比如内存分配,比如指针,比如自己建容器;基本上js的东西更接近算法的本质。
1。优化DOM交互
DOM与我们的页面紧密相关,浏览器渲染页面也就是在渲染解析后的DOM元素,DOM操作与交互要消耗大量的时间,因为它们往往需要重新渲染整个页面或者一部分。进一步说,看似细微的一些操作也可能需要花很多时间来执行,因为DOM要处理的信息非常多,因此我们应该尽可能地优化与DOM相关的操作,加快浏览器对页面的渲染!为什么有些DOM操作会影响页面性能,可以查看我写的一些关于浏览器原理的文章:
ok,优化DOM操作,我们主要有一些几种方式:
1。
1 最小化现场更新
什么是DOM的现场更新:需要对DOM部分已经显示的页面的一部分的显示立即更新。但是,每一个更改,不管是插入单个字符,还是一处整个片段,都有一定的性能惩罚,因为浏览器需要重新计算无数尺寸以进行更新(相关知识请阅读:)。
所以,现场更新进行的越多,代码执行所花的时间就越长,反之代码执行越快,如下:
?12345678varlist = document。getElementById('mylist'), ? ? ?item, ? ? ?i;for(i = 0; i item' i '';}list。
innerHTML = html; // 这里记得innerHTML后面的HTML四个字母都要大写!
这种方式同样也只进行了一次的现场更新,并且性能要比上一种方式要好!虽然在字符串的链接上有点性能损失。
1。
3 使用事件代理/事件委托
事件处理程序为web应用提供交互能力,因此许多开发人员会不分青红皂白地向页面中添加大量的处理程序,有个问题就是一个页面上的事件处理程序数量将直接关系到页面的整体运行性能。为什么捏?
首先,事件处理程序对应至少一个函数,JS中每个函数都是对象,都会占用内存,内存中的对象越多,性能就越差。
其次,我们必须事先指定所有事件处理程序,这就导致了DOM访问次数增多,会延迟整个页面的交互就绪时间,页面响应用户操作变得相对缓慢。
所以减少事件处理程序同样也可以让我们的页面更牛畅!使用事件委托势在必得啊!
事件委托的原理其实就是事件冒泡,只指定一个事件处理程序就可以管理某一类型操作的所有事件。
例如:click事件会一直冒泡到document层次,也就是说我们不必为每个元素添加事件,只需在较高的层次的元素上添加事件处理程序即可,然后利用事件对象(event)的属性或方法去判断当前点击的元素,然后做出相应的响应。这个我就不展开讲了,初学者可以自行查阅事件冒泡知识。
2。作用域很重要。
答:新手都这样拉,熟悉后你会发现编程和几何代数求解一样简单详情>>
答:这个要设计到JNI的开发,就是用Java来调用C语言的函数库,还要编写缓冲器来解决传输问题,还有就是网络协议一定要了解,做的时候要用多线程来控制你所有的缓冲器,...详情>>
答:网景导航者1997年1997年时推出了版本4.0,大幅度的强化JavaScript再度强化其功能,但同时出现的bug和CSS的误译,使得占有率渐渐被Intern...详情>>