测试 (Testing)
jQuery 1.4版发布过程中我们修复了207个问题 (比较之下1.3版里有97个修复)。
jQuery 1.4.此外, 测试的数量从jQuery 1.3.2中的1504例升到了1.4中的3060例。
所有测试都在主要浏览器里完全通过了。(Safari 3.2, Safari 4, firefox 2, Firefox 3, Firefox 3.5, IE 6, IE 7, IE 8, Opera 10.10, and Chrome)
我们尽量试图减小jQuery 1.4对大规模升级可能造成的麻烦 – 保持所有公开函数的签名不变。即使如此, 请通读下面的列表以保证你对可能对你的应用造成问题的变更。
- .add()不再简单的将结果串联到一起, 结果将会被混合到一起, 然后根据他们在页面里的顺序排列。
- .clone(true)将复制事件和数据, 而不仅是事件。
- jQuery.data(elem) 不再返回id, 取而代之的是元素的对象缓存。
- jQuery() (无参数) 不再自动转换成jQuery(document)了。
- 通过.val(“…”)获得一个option或一个checkbox的值不再有歧义(将总是根据value属性选择, 而不是根据text的值)。(Commit)
- jQuery.browser.version现在将返回引擎的版本.
- 现在起将对引入的JSON更严格, 如果JSON的格式不符将会报错。如果你需要对不符合JSON严格格式的Javascript进行估值, 你必须设置请求的文件类型为纯文本, 然后用eval()来对内容估值。
- 参数序列化默认会按照PHP/Rails的风格进行。你可以通过jQuery.ajaxSettings.traditional = true;来切换到旧的序列化方式。你也可以针对个别请求进行切换, 在调用jQuery.ajax的时候递入{traditional: true}
- 内部的jQuery.className被移除了。
- jQuery.extend(true, …)不再扩展复杂对象或是阵列。(TODO)
- 如果一个Ajax请求没有指定dataType, 而返回的数据类型是”text/javascript”, 那么回复将会被执行。之前, 必须明确的指定dataType。
- 设置Ajax 请求的”ifModified”属性会将ETags纳入考虑。
我们还针对1.4版中可能造成问题的变更编写了一个向后兼容的插件。如果你升级到1.4以后出现问题, 可以在引入1.4版的文件之后引入这个插件。
如何使用这个插件: <script src="http://code.jquery.com/jquery.js"></script> <script src="http://code.jquery.com/jquery.compat-1.3.js"></script>
原始数据和测试页面
性能测试中我们使用了下列测试套包:
结果的原始数据 (所有的数据都是 1.3.2 vs. 1.4): 函数调用的次数
547 3
760 3
500 200
896 399
23909 299
307 118
28955 100
28648 201
1662 593
DOM嵌入
558 317
1079 624
1079 516
1155 829
436 332
196 194
243 169
HTML
116 46
281 78
313 78
234 63
134 43
43 42
91 27
CSS/属性
703 370
1780 1250
1765 1250
1157 749
629 498
346 184
333 161
CSS
114 52
203 93
118 93
109 47
116 54
58 24
54 22
CSS类
553 138
1578 546
1515 501
1033 327
769 298
229 80
173 41
移除/清空
3298 286
9030 2344
7921 1703
5282 1266
2898 303
1166 140
1034 122
英文原文: Day One- The 14 Days of jQuery 中文译文: 翻译: jQuery1.4官方文档 | coolnalu
本文链接:http://www.blueidea.com/tech/web/2010/7385.asp
出处:帕兰映像
责任编辑:moby
上一页 jQuery 1.4官方文档中文版 [8] 下一页
◎进入论坛网页制作、WEB标准化版块参加讨论,我还想发表评论。
|