长久以来JavaScript兼容性一直是Web开发者的一个主要问题。在正式规范、事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬。为此,主要从以下几方面差异总结IE和Firefox的Javascript兼容性。
在使用XMLHttpRequest对象发送请求和处理响应之前,必须先用JavaScript创建一个XMLHttpRequest对象。由于XMLHttpRequest不是一个W3C标准,所以可以采用多种方法使用JavaScript来创建XMLHttpRequest的实例。Internet Explorer把XMLHttpRequest实现为一个ActiveX对象,其他浏览器(如Firefox、Safari和Opera)把它实现为一个本地JavaScript对象。由于存在这些差别,JavaScript代码中必须包含有关的逻辑,从而使用ActiveX技术或者使用本地JavaScript对象技术来创建XMLHttpRequest的一个实例。
今天终于是把这本书看完了,每一章都有不小的收获,之后有时间的话会陆续整理出每一章的笔记,^_^言归正传,这一章讲到的是如何从数据访问层面上提高JS代码的执行效率。总的来讲有以下几条原则:函数中读写局部变量总是最快的,而全局变量的读取则是最慢的;尽可能地少用with语句,因为它会增加with语句以外的数据的访问代价;闭包尽管强大,但不可滥用,否则会影响到执行速度以及内存;嵌套的对象成员会明显影响性能,尽量少用;避免多次访问对象成员或函数中的全局变量,尽量将它们赋值给局部变量以缓存。
以下是童宏成对浏览器支持的问题的小结:总体来说只要javaScript的写法符合w3c的规范,一般都不会有问题。以下是我开发javaScript时候出现的浏览器差异问题,主要在于ie与firefox之间。
log4javascript是一个JavaScript日志记录框架注意Log4javascript的实例化可以通过log4JavaScript对象,他充当一个命名空间,在对所有类名引用之前必须使用logJavaScript。
在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类、Hashtable类等等。目前在Javascript中,已经存在一些标准的类,例如Date、Array、RegExp、String、Math、Number等等,这为我们编程提供了许多方便。但对于复杂的客户端程序而言,这些还远远不够。与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很少,许多编程需求需要我们自己去实现,例如Javascript没有哈西表Hashtable,这样的话在处理键值方面就很不方便。
本手册是JavaScript核心部分的参考,由于时间的关系没有涉及客户端和服务器各种条目的详细说明,请大家见凉 。下面就本参考手册中的各个部分的功能进行简单说明,方便大家参考。<br> 可用性信息说明了该项目(类、方法和属性)从哪个版本的Netscape JavaScript解释器和Microsoft JScript解释器开始引入。如果项目在 ECMAScript中进行标准化,则说明引入的是哪个标准版本。如果在JavaScript某个版本中有效,则在其后版本中也有效。但要注意,如果这一部分 说明不可以使用该项目,那么将来的版本可能会把它删除,你就应该避免使用它。
本书是 JavaScript 语言的参考手册,包括核心语言中的对象和客户端、服务器端的扩展。JavaScript 是 Netscape 跨平台的基于对象的适合于客户和服务器的脚本语言。 本书已经更新于 JavaScript 1.2 的新特性,其它包括了 JavaScript 支持层和样式单的属性和对象。要获得关于这些主题的详细信息,请参看 Netscape Communicator 中的动态 HTML。
BOM定义了JavaScript可以进行操作的浏览器的各个功能部件的接口,提供访问文档各个功能部件(如窗口本身、屏幕功能部件、浏览历史记录等)的途径以及操作方法。遗憾的是,BOM只是JavaScript脚本实现的一部分,没有任何相关的标准,每种浏览器都有自己的BOM实现,这可以说是BOM的软肋所在通常情况下浏览器特定的JavaScript扩展都被看作BOM的一部分。
对网页设计人员来说,这是一个充满着挑战和机遇的时代。近几年来,网页设计工作已经从一种混乱无序和即兴发挥的状态,逐渐发展为一种有着成熟的设计原则可供遵循的流水线作业。有越来越多的网页设计人员开始采用一种标准化的思路来建立网站,而实现这一思路和方法的具体技术则称为“Web标准”。
正则表达式可以: •测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证 •替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 •根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字
DrJs是一个轻量级的JavaScript类库,它的主要功能为提供网页上基于DOM和CSS的绘图支持,在适当的地方使用它可以简化问题,提高开发效率。 DrJs适用于那些需要在网页上绘制一些简单的函数图形(如正弦函数图、指数走势图等)或者简单的统计图形(如柱状图、折线图、饼图等)的情形,尤其适用于当相关的数据会频繁更新的情形,此时,你可以使用Ajax等方式从服务器取得数据,并实时地使用DrJs反应到图像上来。事实上,DrJs最初也即为这个目标设计的。 当然,你也可以使用DrJs干更多的事,比如在网页上绘制一个象棋棋盘,或者制作一个小型的WebGame,不过需要注意的是,DrJs并非在网页上绘图的最佳解决方案,DOM本身不是被设计来绘图的,因此,当绘制的图形过于复杂时,DrJs可能会耗费较多的内存,甚至可能引起浏览器的假死或崩溃。