1. 客户端检测 1.1 能力检测 在编写代码之前先检测特定浏览器的能力. 1.2 怪癖检测 怪癖实际上是浏览器实现中的bug 1.3 用户代理检测 通过检测用户代理字符串来识别浏览器.用户代理字符串中包含大量与浏览器有关的信息,包括浏览器.平台.操作系统及浏览器版本.…
ECMAScript虽然是Javascript的核心,但是要在web中使用Javascript,那么BOM才是核心,BOM为我们提供了操作访问浏览器对象的借口, 但是由于BOM没有标准规范,导致存在不一致的问题,所以这里需要客户端检测的方法,突破局限. 先找出设计通用的的方案,然后再使用特定与浏览器的技术增强该方案. 一.能力检测 能力检测的目的不是识别浏览器,而是识别浏览器的能力.不必顾及特定的浏览器,只需确定浏览器支持特定的能力. //浏览器检测的基本模式 if(object.propert…
1. 数据存储 1.1 cookie HTTP Cookie, cookie,最初用来在客户端存储回话信息. (1). 限制,不同浏览器对特定域名下的cookie 的个数有限制,每个域名下最好不要操过20个cookie (2). cookie的构成 名称:一个唯一确定cookie的名称,不区分大小写,cookiede 名称必须经过URL编码 值:存储在cookie中的字符串值,值必须被URL编码 域:cookie对那个域是有效的,所有向该域发送的请求都会包含该cookie,可以包含子域,没有明确…
1. Ajax与Comet 1.1 XMLHttpRequest对象 IE5是第一款引入XHR对象的浏览器,IE5中是通过MSXML库中的一个ActiveX对象实现的.因此在IE中可能存在MSXML2.XMLHttp, MSXML2.XMLHttp.3.0, MSXML2.XMLHttp.6.0,要支持旧浏览器,可以使用如下函数: function createXHR(){ if(typeof XMLHttpRequest != 'undefined'){ return new XMLHttpR…
1. 错误处理与调试 l 在可能发生错误的地方使用try-catch方法,可以对错误进行及时的相应 l 使用window.onerror事件处理程序,这种方式可以接受try-catch不能处理的所有错误 l javascript中发生错误的主要原因如下: 类型转化 未充分检测数据类型 发送给服务器或者从服务器接收到的数据有错误 2. JavaScript与XML…
1. BOM 1.1 window BOM的核心对象是window,它表示浏览器的一个实例.在浏览器中,window对象有双重身份, 1.1.1 全局作用域 由于window对象同时扮演着ECMAScript中Global对象的角色,因此所有在全局作用域中声明的变量.函数都会变成window对象的属性和方法. 1.1.2 窗口关系及框架 如果页面中包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中.在frames集合中,可以通过数值索引(从0开始,从左至右,从上到下)…
1. 面向对象设计 1.1 理解对象 1.1.1 属性类型 (1). 数据属性:相当于对象的字段,包含一个数据值的位置,在这个位置可以读取和写入值.数据属性中有4个描述其行为的特性: l [[Configurable]]:表示能否通过delete删除属性从而重新定义属性 l [[Enumerable]]:表示是否通过for-in循环返回属性 l [[Writable]]:表示能否修改属性的值 l [[Value]]:包含这个属性的数据值 要修改属性默认的特性,必须使用ECMAScript5的Ob…
1. 引用类型 1.1 Object类型 创建Object类型有两种方式: 使用new操作符后跟Object构造函数 var person =new Object(); 字符量表示法 var person = { name:’chuck’ } 1.2 Array类型 1.2.1 创建方式 使用Array构造函数 var colors = new Array(); 字符量表示法 var colors = []; var names= [‘a’,’b’,’c’]; 1.2.2 检测数组 使用 Arr…
1.1 基本类型和引用类型的值 变量包含两种不同数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段,引用类型值可以由多个值构成的对象 1.1.1 动态的属性 针对引用对象的值,可以为其动态的添加属性和方法 var person = new Object(); person.name = “chuck”; alert(person.name); // chuck 1.1.2 复制变量值 (1). 基本类型的变量复制 var num = 5; var num2 = num; 复制前:…
1.1 语法 ECMAScript借鉴了C和其他类C语言的语法 1.1.1 区分大小写 ECMAScript中的一切(变量,函数和操作符)都是区分大小写的,变量test和Test是不同的变量 1.1.2 标识符 标识符,就是指变量,函数和属性的名字,或者函数的参数.标识符可以是按照以下格式规则组合起来的一或多个字符 (1). 第一个字符必须是一个字母,下划线或者一个美元符号 (2). 其他字符可以是字母.下划线.美元符号或数字 标识符中的字母也可以包含扩展的ASCII或者Unicode字母字符…