存储数据

1渲染数据

(1)案例分析 原有的list中有三个li,并且每个li身上有onmouseover事件

   渲染数据的方法

1字符串拼接,最常用的方法

优点:只进行了一次dom回流

缺点:原有dom事件都会丢失

原因:就在与innerHTML这个属性,这个属性是返回或设置dom中的内容,以字符串形式返回,拼接完之后是string类型,而onmouse这些属性是dom元素对象身上的,所以这些onmouse系列的属性就丢失了。

2.dom循环

优点:原有的dom身上的事件不会丢失,不影响其他dom

缺点:dom回流次数过多,严重影响网页性能

3.模板

模板的本质就是字符串

4.文档碎片

优点;既不影响原有dom的属性,也只回流一次。

dom回流

每当对dom元素进行增删改的时候,浏览器会重新加载一个,把新的结果渲染出来。

无论上面的四种放法,新增的li没有onmouseover事件,如果保证新增的li也拥有添加事件。用dom遍历添加事件是不行的,需要采用事件委托

事件委托

事件委托利用的原理就是事件冒泡机制,但并不是所有的事件都有冒泡机制,比如onmouseenter与mouseleave

xml

常见的数据存储格式有俩种,一种是常用的json另一种就是xml

xml的注意事项

要有xml申明

要有一个跟节点

xml必须是双标签

对大小写敏感

xml标签的属性值一定要加引号

xml中的内容不能使用特殊符号

xml中文档中的空格会被保留

ajax中获取数据

json格式需要解析  string类型==>json类型“{‘name’:‘zhang’}”==》{‘name’:‘zhang’}

用json.parse(),反过来{‘name’:‘zhang’}==》“{‘name’:‘zhang’}”

用json.stringfy()

注意事项:json 里面要用双引号  外面只能用单引号

posted @ 2019-03-14 14:29  前端工作员  阅读(219)  评论(0编辑  收藏  举报