《Javascript DOM编程艺术》 读书笔记 —— 好书,通俗易懂!!!!! 相当的严谨!!!!

1.javascript弱类型语言,解释性语言。

2.javascript数据类型:字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。

   javascript内建对象用户自定义对象。  宿主对象(浏览器提供的)

3.数组索引下标从0开始。

4.函数:多次使用同一段代码! 

  变量的命名:多个单词使用下划线  temp_celsius;

  函数的命名:驼峰法则哦;

5.return false: 阻止a元素的跳转! 默认行为没有被触发!

6.http性能优化:

     A:减少请求的数量。

     B:脚本文件放到文档的末尾。

     C:压缩代码。

7.伪协议:"javascript:"

8.注意DOM Core 和 HTML-DOM:    (HTML Dom、 Css Dom、 Dom core)

    1.HTML-DOM代码更短。但只能处理Web文档!

    2.标准DOM

9.前端:处理视觉和交互的!

10.CDN:  1.资源服务器,很多站点都用,比如百度,用户访问过baidu,如果baidu用到了百度的CDN,你的网站也用到了,那么同样的文件就不会重新下载了!   

                  当然了,必须要有浏览器的缓存哦! 

               2.CDN底层是使用地理位置最近、速度最快的服务器提供相应的文件。       CDN服务器:分布式的!  高访问量!

11.引号的嵌套:书上有涉及到哦!  

                  第二遍     补漏

1.转义:  135° 

 2.赋值: =

    等于: ==            值一致

    绝对等于: ===    值和类型一致

 3.作用域: 

  a:可访问范围

  b:变量的生命周期

4.对象: 属性  +  方法  

5.javascript的内建对象(javascript语言自带的)用户自定义对象宿主对象(浏览器自带的 BOM)

6.setAttribute做出的修改不会反映在文档本身的源码里哦!   哦哦!  

7.提升站点性能,减少http请求,将js文件合并到一个里面。

8.childNodes:获取任何一个元素的所有子元素(子节点)包含空格和换行符等。

   nodeType属性:  

    a:元素节点:1 

    b:属性节点:2

    c:文本节点:3

   nodeValue:节点的值。       node.childNodes[0]   等价于  node.firstChild      

               node.childNodes[node.childNodes.length - 1]   等价于 node.lastChild

9.渐进增强    优雅降级(平稳退化)    

10.伪协议:让我们通过一个链接来调用javascript函数。

11.根据HTTP规范,浏览器每次从同一个域名中最多只能同时下载两个文件。

12.js文件放到body的末尾,不阻塞渲染引擎对页面的渲染。           (Web发布的时候要注意哦!)

    js文件整合到一个文件里,减少http请求。

    文件压缩(空格和注释删掉),减小体积,加快下载速度。     

13.结构化程序设计: 函数应该只有一个入口和一个出口。

14.html css  js分离的好处,   id class等都可以当作钩子、桥梁,联系起css、js与html之间的关系。

15.注意Dom Core 和 HTML-DOM

     document.getElementsByTagName("form")    等价于  document.forms

     element.getAttribute("src")    等价于   element.src

16. DOM:文档即是节点树。

17.XMLHttpRequest对象: 浏览器和服务器的代理,中间人!   它来发送请求,处理响应。

18.有些浏览器会限制ajax请求的协议类型。  

     同源策略:只能请求同一个域中的数据。

19.抽象:将具体的东西改进为一个较为通用的东西的过程就是抽象。   抽象为了便于重用。

 20.overflow: scroll; 不管溢出还是不溢出,都将显示滚动条。

      overflow:auto; 内容确实溢出了,才会显示滚动条。

21.Modernizr    js库!      放在<head></head>里哦!     做兼容的!  

22.编解码器:核心就是一个算法,用于压缩和存储视频;同时保证视频的品质。

     视频编解码器:H.264       Theora     VP8

     音频编解码器:MP3  aac  ogg

     mp4:苹果公司的.

23.localStorage和sessionStorage:在客户端存储大型和复杂数据集的有效方案。

24.webSocket:与服务器进行开放的双向通信。

25.webWorker:在后台执行JavaScript。

26.客户端验证:提升用户的体验。

     服务器端验证:保证系统的安全。

27.经验表明:一次请求一个大文件比多次请求多个小文件要更好。

28.web性能提升:减小网页文档的大小;还有就是让浏览器缓存。

     CDN:解决分布共享库。  比如jquery文件 ,访问一个网站下载过,访问另一个就不会再次下载了。

               内容分发网络,分散存储一些公共的内容。  访问jquery库的时候使用的是同一个公共的url; 由CDN服务器做判断,为你提供地理位置最近、响应速度最快的

                                     服务器提供jquery文件。  相当于文件资源服务器你的,减轻你的服务器的响应负荷;而且是相同的url,所以很容易缓存。

          

   

 Tips:  记得回头有空了再敲书上的代码哦!  代码是写会的!  理清代码的思维流程。

   

原文地址:https://www.cnblogs.com/njqa/p/5974870.html