您的位置:首页 > Web前端 > JavaScript

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

2012-04-13 14:17 477 查看
第十五章 javascript 与 XML

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

第十六章 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的操作

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

l ie7之后每个域名最多50个cookie

l Firefox 限制每个域名最多50个cookie

l Opera限制每个域名最多50个cookie

l 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的性能相对于其它知名编程语言:比编译好的C慢5000倍;比解释型的Java慢100倍;比解释型的Perl慢10倍

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 的未来

未来的事未来在谈吧,第一遍时间关系略过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: