爱问知识人 爱问教育 医院库

如何提高将算法转换成javascript程序的能力

首页

如何提高将算法转换成javascript程序的能力


        

提交回答

全部答案

    2018-04-06 08:24:50
  • js写起来更方便。弄个node.js多练习吧。 
    如果用c写算法习惯了,将c相关的习惯去掉,比如内存分配,比如指针,比如自己建容器;基本上js的东西更接近算法的本质。

    我***

    2018-04-06 08:24:50

  • 2018-04-06 08:24:50
  •   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。作用域很重要。

    蓝***

    2018-04-06 08:24:50

类似问题

换一换
  • JAVA相关 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 177-196
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):