怎么运用JavaScript框架提高web顺序效率
来源:互联网 发布:知乎是什么公司的 编辑:程序博客网 时间:2024/05/22 06:13
摘要:当代站点和web使用顺序趋向于依托客户端的大量的javascript来提供丰厚的交互。特别是议决不刷新页面的异步央求来前往数据或从服务器端的脚本(或数据系统)中得到呼应。在这篇文章中,你将会明白到javascript框架如何更快、更简约的树立互动性强、呼应快得站点和web使用顺序。
导言:JavaScript是一种面向对象的脚本言语,不断以来用作Web浏览器使用顺序客户端脚本接口的挑选。JavaScript准许Web开发人员编程与网页上的对象的任务,为凭空操作这些对象提供了一个平台。当JavaScript开始推出时,它通常用来提供一些微缺乏道的功用,如时钟、在浏览器形态栏中滚动文本。另外一个常用特征就是“rollover link”,即当用户的鼠标滑过对象时,其文本的颜色或背景图片发作改动。但是,近年来Ajax为网络编程带来了全新的互动,JavaScript几经生长变得愈加有用。在Ajax之前,任何服务器端处理或数据库访问都须要整页面被“刷新”或由浏览器出现新的页面。这不只缓慢,令用户绝望,并且也糜费了带宽和资源。
Ajax就是异步的JavaScript和XML,虽然援用XML不在有效,但是Ajax能对除了XMl的其它几种格式的数据作出呼应,如JSON(JavaScript对象表示法)。 Ajax的任务原理是,以异步的方式提交一个 HTTP央求提交到web服务器,不刷新也不出现整个页面,仅出现呼应的内容。相反,开发人员通常运用DOM(文档对象模型)操作修正网页的一局部,HTTP呼应前往的数据将反映这些改动。
什么是JavaScript框架?
JavaScript自身是一种十分强悍的言语,你不须要任何额定的框架就可以树立由它支持的富互联网使用系统(RIA)。但是,运用JavaScript并不是一件容易的事,首要是由于在试图提供多种浏览器支持时各种并发症的出现。和HTML和CSS一样,不一样的浏览器的JavaScript执行方式不一样,那么确保您的JavaScript代码跨浏览器兼容可以说是一个恶梦。
一个JavaScript框架或库实践上是一系列工具和函数,它能更容易发生跨浏览器兼容的JavaScript代码。每个库在许多盛行的最新版本的Web浏览器阅历了严厉测试。因而,您完全可以相信,运用这些框架中的任何一个,您的基于JavaScript的RIA在不一样的浏览器安宁台中将大体一致。
除了浏览器兼容性疑问外,JavaScript框架可以更容易地编写代码去获取、遍历及操纵DOM元素。它们不只能提供一个快捷的函数来获取一个DOM元素的援用,并且还准许菊花式的DOM遍历函数链查找父母、子女或任何深度的兄弟节点元素。开头,框架提供了一系列的函数,使其更容易的操纵这些对象,准许其内容修正、添加、删除,或许操纵class的样式而影响元素的外观。器事情处理可以说是一个恶梦。因而,JavaScript框架通常将浏览器事情包装起来,并提供一系列有用的跨浏览器函数来处理它们。一些框架也提供了规范化的代表键盘键码系列的事情(如Esc键、Enter键、光标等等)。
一切这些功用是十分有用的,JavaScript框架已在其近来盛行Ajax使用中起主要作用。和JavaScript其他方面一样,每个Web浏览器倾向于支持以不一样的方式Ajax,使Ajax支持一切的浏览器将是很繁重的任务。几乎一切的JavaScript框架都包括必需方式的Ajax库,通常是提供Ajax央求和呼应对象,在对呼应作出评价后,更新DOM元素,轮询一个特定的央求。
一个JavaScript框架的典型特征
如今让咱们看看大非少数JavaScript框架都具有的一些功用。这些特征有:
- 挑选器
- DOM遍历
- DOM操作
- 适用函数
- 事情处理
- Ajax
为了更好的诠释这些特征,我将从下面一个或多个JavaScript框架中罗列一个例子:Prototype, jQuery, YUI,ExtJS和 MooTools。虽然每个框架的执行情况和语法不一样,但其观念大致类似。每个框架有一个细致的API参考,你可以参考它决议如何运用这些特定库的特征功用。
挑选器
大非少数JavaScript框架可完成某种方式的高速元素挑选。普通来说,这些挑选器使获取一个元素的援用愈加速捷,并准许你议决ID、class、元素类型或一些伪类挑选符来选取元素。
比如,运用通常的JavaScript,你可以运用下面的代码借助ID来获得DOM元素。
var theElement = document.getElementById('the_element');
与其他多个框架一样,MooTools提供了一个执行该操作的快捷方法。除了挑选元素,MooTools议决自己一系列的功用函数扩展了元素。
var theElement = $('the_element');
$函数在多个盛行的框架(并非一切)中可用,其语法大致类似。Prototype更深一层,议决ID在任什么时辰候可以挑选多个元素,前往的是一个元素数组。与的语法是这样的:
var elementArray = $('element_one', 'element_two', 'element_three');
在适用函数这一局部,你将明白到JavaScript框架提供的一些函数迭代咱们的集合愈加容易。
在先面的例子,你必需提供你欲挑选元素的ID。但是,你要挑选多个元素该如何办?一切image、拥有特定className的表格的每一行。MooTools(其它的多个库)提供了一个十分容易的方法来做到这一点--$$函数。除了元素的ID外,他还可以接受以下参数:元素的名字、类名以及伪类挑选器,其任务原理与$函数类似。比如,运用MooTools获取页面上一切的图片,你可以运用下面的代码:
var allImages = $$('img');
这将得到文档中一切imag的数组,每一个议决$函数和原本用函数执行扩展。
议决tag标签来选取对象是十分有用的,但假设你只想基于元素的class选取它的局部子集,遮盖如何办?一样很容易。在下面的例子中,MooTools将挑选table中class为“odd”的行,这在对每行执行操作时很有用(交替变换表格每一行的颜色)。
var allOddRows = $$('tr.odd');
现实上,MooTools提供了一个更好的方法执行行操作。在先面的例子中,假定table的奇数行授予了类名“odd”。那么下面的代码不须要在table的每一行上定义任何类名。
var allOddRows = $$('tbody <IMG class=wp-smiley alt=:o src="/img/2010-4-20/2010420837462218.gif"> dd');
这是一个伪类挑选器的例子,它前往婚配规范的任何对象。在这个例子中,后果为页面中tbody元素中一切奇数行的子元素。MooTools其它伪类元素的例子包括:
- checked 一切被选中的元素(比如:选中的复选框);
- enabled 一切可用的元素;
- contains 一切包括文本(作为参数传递给挑选器)的元素。
如前所述,并非一切的JavaScript框架都运用$函数来选取DOM元素。在YUI(Yahoo用户界面)的第三个版本中,下面的代码是议决ID来选取元素的(留意:YUI3须要在ID前加上字符#)。
一样,议决tag或class来选取元素也不是运用$$函数,在YUI中你要运用Y.all来替代。
var allOddRows = Y.all('tr.odd');
ExtJS以一样的方式任务,议决ID挑选元素用下面的语法:
var theElement = Ext.get('the_element') ;
而议决tag和class来获取元素则用下面的语法:
var allOddRows = Ext.select('tr.odd');
在下一章中,你将明白到如何运用JavaScript框架来悄悄松松遍历DOM对象,换句话说,找到与选定元素有父子和兄弟联络的元素。
转载地址:http://www.denisdeng.com/?p=699
原文地址:http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html
- 怎么运用JavaScript框架提高web顺序效率
- 怎么提高Web应用程序的效率?
- 怎么提高绘图的效率
- 怎么提高DB的效率
- 怎么提高spring创建对象的效率
- 上班族怎么提高时间的效率?
- C#开发的WEB开发的简单框架 节省开发信息管理系统时间 提高开发效率
- web程序中全优化(二)之 提高你的JavaScript效率Tips
- 怎么合理管理、提高Javascript
- 运用HINT提高SQL语句的执行效率
- 运用HINT提高SQL语句的执行效率
- 从开发框架提高开发效率说起
- Web:javascript执行顺序
- 提高JBuilder开发WEB层的效率
- 提高web效率的14条规则
- 提高web开发效率的在线工具
- Java Web项目如何提高访问效率
- CoffeeScript和Sass提高Web开发效率
- http://blog.ftofficer.com/tech-docs/retools/
- vi编辑器
- 关于批处理以及批处理常用命令的总结
- 网页播放器实现全屏的方法总结
- android adb网络连接方法
- 怎么运用JavaScript框架提高web顺序效率
- marquee制作连续不间断滚动图片效果
- marquee制作连续不间断滚动图片效果
- 使用批处理文件
- JavaScript和CSS的优化提高网站性能
- JAVA 导入导出EXCEL文件操作
- n皇后
- 之源太少了
- PC客户端与Android服务端的Socket同步通信(USB)(转载)