以对象的角度分析  对象的两方面 属性和方法

  研究对象,主要是研究对象的属性和方法

  案例:

  <ul id="list">

    <li></li>

    <li></li>

  </ul>

  兼容性: 如果元素没有子节点,ie低版本读取不到,而标准浏览器会把文本节点当作子节点

  list.children[0]

  需要处理兼容 if 语句

  if(list.children[0]){

    list.insertBefore(li,list.children[0])

    }

  else{

    list.appendChild(li)

    }

  a超链接,a的属性 href分析

  <a href="">    点击会刷新页面,相当于向后台发送一次请求

  <a href="#s">   瞄点跳转到某一个id叫s的位置

  <a href="javascript:;">  取消刷新页面的功能

  dom回流:

  添加一个,对第一个计算一次

  添加两个,对第一个计算两次,对第二个计算一次

  添加三个,对第一个计算三次,对第二个计算两次,对第三个计算一次

  页面渲染时,我们对HTML结构简单的增删,查改时,浏览器会对所有的dom重新排列,这就是dom回流,严总影响浏览器性能

  拓展:字符串拼接和dom创建都是渲染的方式

  字符串的优点:简单、层次感比较强、可以处理大量数据

  缺点:字符串拼接会影响到原有子元素的事件;

  dom创建

  优点:是一个独立的个体,不会影响到原有的元素

  缺点:处理数据量过大会比较麻烦,会造成dom回流

  补充:

  提升页面的性能的优化

  1.多采用雪碧图

  2.阻止超链接默认行为

  3.减少dom回流

  4.减少向服务器的请求次数

字符串拼接和dom回流的更多相关文章

  1. 操作 html 的时候是使用 dom 方法还是字符串拼接?

    比如一个列表里面有很多个 li,要给他们加上数据.但多少个 li 是不确定的,由后台数据确定.这时候,就要动态生成 html 内容了. 那么,这个过程, 是使用 += 方法把标签.数据进行一个个的字符 ...

  2. 从字符串拼接看JS优化原则

    来自知乎的问题:JavaScript 怎样高效拼接字符串? 请把以下用于连接字符串的JavaScript代码修改为更高效的方式: var htmlString ='< div class=”co ...

  3. 字符串拼接引发的BUG

    译者按: bug虽小,却是个磨人的小妖精! 原文: Fixing a bug: when concatenated strings turn into numbers in JavaScript 译者 ...

  4. JS数据模板分离(告别字符串拼接)-template

    刚开始在写第一个动态网页的demo时,由于html不多,便使用字符串拼接的方法添加到dom来渲染,可是在后来写某外卖app时也需要如此添加,打开代码一看几千行,突然感觉累觉不爱 一行行的拼接有这功夫别 ...

  5. SQL中字符串拼接

    1. 概述 在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性. sqlserver: select '123'+'456' ...

  6. StringBuilder(字符串拼接类)

    StringBuilder是在using System.Text命名空间下的一个成员. 在做字符串拼接的时候,因为字符串是引用类型,新的字符串是会再内存中创建的,所以用+号拼接字符串是比较耗效率的. ...

  7. 精简版StringBuilder,提速字符串拼接

    编写目的 在频繁的字符串拼接中,为了提升程序的性能,我们往往会用StringBuilder代替String+=String这样的操作; 而我在实际编码中发现,大部分情况下我用到的只是StringBui ...

  8. Objective的字符串拼接 似乎没有Swift方便,但也可以制做一些较为方便的写法

    NSString *str1 = @"字符串1"; NSString *str2 = @"字符串2"; //在同样条件下,Objective的字符串拼接 往往只 ...

  9. java 创建string对象机制 字符串缓冲池 字符串拼接机制

    对于创建String对象的机制,在这一过程中涉及的东西还是值得探究一番的. 首先看通过new String对象和直接赋值的方式有什么区别,看如下代码: public static void main( ...

随机推荐

  1. MyEclipse持续性开发教程:用JPA和Spring管理数据(二)

    MyEclipse红运年货节 在线购买低至69折!火爆开抢>> [MyEclipse最新版下载] 本教程介绍了MyEclipse中的一些基于JPA / Spring的功能.有关设置JPA项 ...

  2. DevExpress v17.2新版亮点—WPF篇(四)

    DevExpress年终击穿底价,单套授权低至67折!仅剩最后6天!查看详情>>> 用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内 ...

  3. <NET CLR via c# 第4版> 读书笔记--目录

    <NET CLR via c# 第4版>个别章节虽读过多次,但始终没有完整读过这本书.即使看过的那些,时间一长,也忘记了大部分.趁着最近不忙,想把这本书好好读一遍,顺便记下笔记,方便随时查 ...

  4. matlab一些函数

    1 addpath 路径(相对应地,rmpath移除路径) addpath ../commonaddpath ../common/minFunc_2012/minFuncaddpath ../comm ...

  5. 网络编程初探--使用UDP协议的简易聊天室

    UDP是一种无连接的传输层协议,提供快速不可靠的服务. 一.发送端 * 创建UDP发送端 * 步骤: * 1.建立UDP的Socket服务 * 2.将要发送的数据封装到数据包中 * 3.通过UDP的s ...

  6. 字符串哈希算法(以ELFHash详解)

    更多字符串哈希算法请参考:http://blog.csdn.net/AlburtHoffman/article/details/19641123 先来了解一下何为哈希: 哈希表是根据设定的哈希函数H( ...

  7. TP3.2整合uplodify文件上传

    HTML中:<style>#img_upload-queue{width:120px;float:left;} /*uploadify的上传进度条样式,前面的img_upload是根据上传 ...

  8. test20181004 苹果树

    题意 分析 对每个点维护子树所能达到的dfn最大值.最小值.次大值.次小值,然后就可以计算原树中每个点与父亲的连边对答案的贡献. 如果子树中没有边能脱离子树,断掉该边与任意一条新加的边都成立,答案就加 ...

  9. 一张图解释java跨平台

  10. 实习第二天-今年第一场雨-方法的重载(马上想到println()函数和abs(函数))

    在C语言中 调用函数abs()返回一个整数的绝对值, fabs(返回一个单精度浮点型的绝对值)若要返回这些数的绝对值,则必须记住这些函数的名字 java可以用方法的重载:即是方法名必须相同,参数必须不 ...