Javascript高级程序设计第二版第十五章-->第二二章--笔记

第十五章 javascript XML

这一章主要讲述jsxml的操作,由于不甚熟悉,第一遍直接略过

第十六章 E4X

E4X (ECMASscript for XML ) ECMA-357为标准发布,也是对xml定义新的语法,这一章也故而略过。

第十七章 Ajax Json

做为一单独的块,准备单独腾出时间来摸索

第十八章 高级技巧

说是高级技巧确实是高级技巧,这章主要是对js使用中的问题进行总结

1.       高级函数

所谓高级函数,讲了四个内容:

a)         作用域安全的构造函数: 防止this作用域穿破

b)         惰性载入函数: 它表示函数执行的分支仅发生一次:即函数第一次调用的时候。在第一次调用的过程中,该函数会被覆盖为另外一个按合适方式执行的函数,这样任何对原函数的调用都不用再经过执行的分支了。

c)         函数绑定: 它要创建一个函数,可以在特定环境中以指定参数调用另一个函数。

d)         函数柯里化( function currying):它用于创建已经设置好了一个或多个参数的函数

2.       高级定时器:setTimeou,setInterval

3.       自定义事件:

4.       拖放:onmouseup,onmousemove,onmousedwon三个事件的操作

第十九章 客户端存储cookies

说白了,主要是对cookie的操作

ie6 及更低版本限制每个域名最多20 cookie

ie7之后每个域名最多50cookie

Firefox 限制每个域名最多50cookie

Opera限制每个域名最多50cookie

Safari Chrome 对于每个域名的cookie数量限制没有硬性规定

cookie成分:

名称,值,域,路径,失效时间,安全标志

js操作cookie,主要是document.cook来操作

第二十章 最佳实践

1.       可维护性:

可理解性,直观性,可适应性,可扩展性,可调试性

2.       松散耦合

a)         解耦HTML/CSS/Javascript:

                         i.              HTML是数据,javascript是行为,CSS是表现

b)         解耦应用逻辑/事件处理程序

编程实现:

1. 尊重对象的所有权

2. 避免全局变量

3. 避免与null进行比较

4. 使用常量

3.       性能:

Geoffrey认为 Javascript的性能相对于其它知名编程语言:比编译好的C5000倍;比解释型的Java100倍;比解释型的Perl10

a.       注意作用域:

a)         避免全局查找

b)         避免with语句

b.       选择正确的方法

a)         避免不必要的属性查找

b)         优化循环

c)         展开循环

d)         避免双重解释

e)         性能的其它注意事项:

                                     i.              原生方法比较快:原生的Math中的方法比较快

                                   ii.              Switch语句比较快

                                  iii.              位运算比较快

c.       最小化语句:

a)         多个变量声明 var a,b,c

b)         插入迭代值 i++的运用

c)         使用数组或对象字面量var arr = [], obj = {name:jikey, age: 29};

4.       优化Dom交互

a)         最小化现场更新

b)         尽量使用innerHTML

c)         使用事件代理

d)         注意NodeList

第二十一章 未来的API

1.       选择器API 这个我感觉是跟jquery学的

a)         querySelector 大概相当于jquery里边的$() 该方法接受一个CSS查询并返回匹配该模式的第一个子孙元素,没有匹配

b)         querySelectorAll 接受跟querySelector一样的参数,返回的是所有匹配的节点而非单个。返回一个叫StaticNodeList的新类型实例。

c)         现今和未来的支持情况

                         i.              html5

类相关的增加

1.         getElementsByClassName 单个参数,返回一个NodeList

2.         classList add,has,remove,toggle

d)         跨文档消息传递

                         i.              data,origin,source

e)         媒体元素

                         i.              video,audio

f)          <canvas>

第二十二章 JavaScript 的未来

未来的事未来在谈吧,第一遍时间关系略过

你可能感兴趣的:(JavaScript)