虽然Object构造函数或者对象字面量都可以用来创建单个对象,但是缺点非常明显:使用同一接口创建很多对象,会产生大量重复代码. 工厂模式  1 function CreatePerson(name,age,job){ 2         var o=new Object(); 3         o.name=name; 4         o.age=age; 5         o.job=job; 6         o.sayName=function(){ 7            …
从驱动全球商业.贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当今世界上最流行的编程语言一点儿都不为过. JavaScript 是一种非常松散的面向对象语言,也是 Web 开发中极受欢迎的一门语言. JavaScript,尽管它的语法和编程风格与 Java 都很相似,但它却不是 Java 的“轻量级”版本,甚至与 Java 没有任何关系. JavaScript 是一种全新的动态语言,它植根于全球数亿网民都在使用的 Web 浏览器之中,致力于增强网站和 Web…
在HTML 中使用JavaScript <script>元素 在使用<script>元素嵌入 JavaScript 代码时,只须为<script>指定 type 属性.然后,像下面这样把 JavaScript 代码直接放在元素内部即可: <script type="text/javascript"> function sayHi(){ alert("Hi!"); } </script> 包含在<scr…
内容---理解基本类型和引用类型的值---理解执行环境---理解垃圾收集 --JavaScript变量松散类型的本质--决定了它只是在特定时间用于保存特定值的一个名字而已--变量的值及其数据类型可以在脚本的生命周期内改变 基本类型和引用类型的值--ECMAScript变量可能包含两种不同数据类型的值---基本类型值和引用类型值----基本类型值指简单的数据段(undefined.null.Boolean.Number.String)----引用类型值值那些可能由多个值构成的对象(Object.A…
函数是JavaScript 中最有趣的部分之一.它们本质上是十分简单和过程化的,但也可以是非常复杂和动态的.一些额外的功能可以通过使用闭包来实现.此外,由于所有的函数都是对象,所以使用函数指针非常简单.这些令JavaScript 函数不仅有趣而且强大.以下几节描绘了几种在JavaScript 中使用函数的高级方法. 22.1.1 安全的类型检测 JavaScript 内置的类型检测机制并非完全可靠.事实上,发生错误否定及错误肯定的情况也不在少数.比如说typeof 操作符吧,由于它有一些无法预知…
null.NaN.undefined三者的区别是什么? 在初次接触到JavaScript的时候,傻傻的分不清null.NaN.undefined三者到底区别何在,在实际的项目开发中也因为这个问题而困惑久矣.针对这个问题,我特意查找了多方资料,在笔记本上做了详细的分析记录,但是由于纸质资料不便于携带.不便于后期查看.所以特此将笔记搬至博客园上,如有表述不正确的地方,希望大家能够给予意见,谢谢! 1.数据类型 ECMAScript中定义了5中简单的数据类型(也称为基本数据类型):Undefined.…
IE5 是第一款引入XHR 对象的浏览器.在IE5 中,XHR 对象是通过MSXML 库中的一个ActiveX对象实现的.因此,在IE 中可能会遇到三种不同版本的XHR 对象,即MSXML2.XMLHttp.MSXML2.XMLHttp.3.0 和MXSML2.XMLHttp.6.0.要使用MSXML 库中的XHR 对象,需要像第18章讨论创建XML 文档时一样,编写一个函数,例如: //适用于IE7 之前的版本 function createXHR() { if (typeof argumen…
Web Storage 最早是在Web 超文本应用技术工作组(WHAT-WG)的Web 应用1.0 规范中描述的. 这个规范的最初的工作最终成为了HTML5 的一部分.Web Storage 的目的是克服由cookie 带来的一些限制,当数据需要被严格控制在客户端上时,无须持续地将数据发回服务器.Web Storage 的两个主要目标是: 提供一种在cookie 之外存储会话数据的途径: 提供一种存储大量可以跨会话存在的数据的机制. 最初的Web Storage 规范包含了两种对象的定义:ses…
任何支持style 特性的HTML 元素在JavaScript 中都有一个对应的style 属性.这个style 对象是CSSStyleDeclaration 的实例,包含着通过HTML 的style 特性指定的所有样式信息,但不包含与外部样式表或嵌入样式表经层叠而来的样式.在style 特性中指定的任何CSS 属性都将表现为这个style 对象的相应属性.对于使用短划线(分隔不同的词汇,例如background-image)的CSS 属性名,必须将其转换成驼峰大小写形式,才能通过JavaScr…