标题：零基础学JavaScript
内容提要
VisualBasic是目前主流的Windows编程工具之一，SQLServer也是当前最流行的数据库管理软件之一，本书将这两者结合在一起，介绍了如何使用VisualBasic和sQLServeI开发数据管理软件。全书共分四篇24章，详细介绍了VisualBasic数据库访问技术以及Windows邑用控件的使用、ActiveX组件开发及网络程序开发等方面的内容。本书内容丰富翔实、实例丰富实用，最后还演示了一个功能较为完备的网络数据库操作软件的开发过程，针对性很强，而且特别贴近实际实用，有助于提高读者的实际应用能力。本书适用于VisualBasic和SQLServer初学者、VisualBasic程序员以及其他数据库应用程序开发人员。
编辑推荐
励志照亮人生，编程改变命运。
更加全面；针对IE、Firefox、Opera、Netscape等多个浏览器版本，更加实用；全书提供了400多个示例，让你边看书，边操作，更加好学；每个技术都配以插图讲解和文字说明，更加前沿；囊括了当前流行的Ajax、Cookie技术。
本书精华
◎数据类型、常量与变量
◎表达式与运算符
◎选择语句、循环语句、跳转语句和异常处理
◎函数的使用
◎面向对象编程
◎布尔、数字、数学、字符串、日期等对象的用法
◎数组使用详解
◎JavaScript对象层次与事件处理
◎窗口与框架（Window对象）
◎屏幕对象与浏览器对象
◎历史对象与地址对象
◎文档对象
◎表单对象
◎Cookie
◎Ajax技术与典型实例
丛书特点：
丛书作者都是来自开发一线的程序员或有多年教学经验的大学老师，提供了专门的售后服务论坛：http://www.rzchina.net，每本书都提供了多个视频演示，帮助读者快速入门，从基本的环境配置讲起，告诉你如何搭建开发环境，细致讲第一个例子，使你从中学会程序开发的基本步骤，从零开始学编程，掌握核心概念，通过实例让你达到精通的境界，注释极为详尽，非常方便读者阅读代码，理解其中的含义。
目录
写给未来的程序员
出版社　： 机械工业出版社系列名　：零基础学编程作者　： 刘智勇/出版日期：2007年12月《零基础学JavaScript》精华◎数据类型、常量与变量◎表达式与运算符◎选择语句、循环语句、跳转语句和异常处理◎函数的使用◎面向对象编程◎布尔、数字、数学、字符串、日期等对象的用法◎数组使用详解◎javascript对象层次与事件处理◎窗口与框架（Window对象）◎屏幕对象与浏览器对象◎历史对象与地址对象◎文档对象◎表单对象◎Cookie◎Ajax技术与典型实例《零基础学JavaScript》目录:第一篇　基 础 篇第1章 javascript基础 11.1 脚本语言的介绍 11.1.1 什么是脚本语言 11.1.2 脚本语言的分类 11.1.3 什么是javascript 11.1.4 javascript与JScript、VBScript、ECMAScript的区别 21.1.5 javascript与Java的区别 21.2 javascript的作用 21.3 Script的版本与支持 31.3.1 Script的版本 31.3.2 浏览器对javascript的支持 41.3.3 开启浏览器对javascript的支持 51.4 面向对象的语言 101.4.1 面向对象介绍 101.4.2 对象的操作 101.4.3 类、对象与对象实例 111.5 javascript编辑器 111.5.1 记事本 111.5.2 1st javascript Editor 111.5.3 Ultra Edit 32 121.5.4 Dreamweaver 121.6 在网页中加入javascript 131.6.1 使用script标签 131.6.2 简单的输出 141.6.3 注释 151.6.4 使用HTML的注释语句来标记javascript代码 161.6.5 浏览效果 161.7 script标记介绍 171.7.1 设置脚本语言名和版本 171.7.2 指定脚本语言的MIME类型 191.7.3 defer属性 191.7.4 包括外部的javascript文件 191.8 javascript的执行方式 211.8.1 直接执行 211.8.2 使用javascript调用 211.8.3 与事件结合调用 221.9 注意事项 231.9.1 大小写敏感 231.9.2 空格与换行 231.9.3 可有可无的分号 231.10 小结 24第2章 数据类型、常量与变量 252.1 基本数据类型 252.1.1 字符串型 252.1.2 数字型 252.1.3 布尔型 262.2 复合数据类型 262.2.1 对象 262.2.2 数组 262.3 其他数据类型 262.3.1 函数 262.3.2 null 272.3.3 undefined 272.4 数据类型的转换 272.4.1 隐式类型转换 272.4.2 显式类型转换 282.5 常量 292.5.1 整数常量 292.5.2 浮点常量 302.5.3 字符串常量 302.5.4 字符串中的转义字符 312.5.5 布尔常量 322.5.6 数组常量 322.6 变量 342.6.1 变量的命名方式 342.6.2 变量类型 342.6.3 定义变量 342.6.4 定义变量的注意事项 352.6.5 变量的值 372.6.6 变量的有效范围 372.6.7 使用变量的注意事项 392.7 保留字 442.7.1 javascript中的保留字 442.7.2 ECMA中的保留字 442.7.3 避免使用的字符串 452.8 小结 45第3章 表达式与运算符 463.1 表达式 463.2 操作数 463.3 运算符介绍 473.3.1 运算符 473.3.2 操作数的类型 473.4 算术运算符 473.4.1 加法运算符 483.4.2 减法运算符 483.4.3 乘法运算符 483.4.4 除法运算符 493.4.5 模运算符 493.4.6 负号运算符 503.4.7 正号运算符 503.4.8 递增运算符 513.4.9 递减运算符 523.5 关系运算符 543.5.1 相等运算符 543.5.2 等同运算符 553.5.3 不等运算符 563.5.4 不等同运算符 573.5.5 小于运算符 593.5.6 大于运算符 593.5.7 小于或等于运算符 603.5.8 大于或等于运算符 613.5.9 in运算符 613.5.10 instanceof运算符 633.6 字符串运算符 643.7 赋值运算符 653.8 逻辑运算符 663.8.1 逻辑与运算符 663.8.2 逻辑或运算符 673.8.3 逻辑非运算符 673.9 逐位运算符 673.9.1 逐位与运算符 673.9.2 逐位或运算符 683.9.3 逐位异或运算符 693.9.4 逐位非运算符 703.9.5 左移运算符 713.9.6 带符号的右移运算符 723.9.7 用0补足的右移运算符 733.10 其他运算符 743.10.1 条件运算符 743.10.2 new运算符 753.10.3 void运算符 763.10.4 typeof运算符 773.10.5 对象属性存取运算符 783.10.6 数组元素存取运算符 793.10.7 delete运算符 803.10.8 逗号运算符 823.10.9 函数调用运算符 833.10.10 this运算符 843.11 运算符的优先级 853.12 小结 85第4章 语句 864.1 表达式语句 864.2 语句块 864.3 选择语句 874.3.1 if语句 874.3.2 if...else语句 884.3.3 if...else if...else语句 894.3.4 if...else if...语句 904.3.5 if语句的嵌套 914.3.6 switch语句 914.4 循环语句 934.4.1 while语句 934.4.2 do...while语句 944.4.3 for语句 964.4.4 for...in语句 984.5 跳转语句 984.5.1 break语句 994.5.2 continue语句 1014.6 异常处理语句 1034.6.1 throw语句 1034.6.2 try...catch...finally语句 1044.6.3 异常处理语句的综合应用 1054.7 其他语句 1064.7.1 标签语句 1064.7.2 var语句 1074.7.3 function语句 1074.7.4 return语句 1084.7.5 with语句 1094.7.6 空语句 1114.7.7 comment语句 1124.8 小结 112第5章 函数 1135.1 函数介绍 1135.1.1 什么是函数 1135.1.2 定义函数 1135.1.3 定义函数的注意事项 1145.1.4 函数的嵌套定义 1145.1.5 使用Function()构造函数 1155.1.6 使用Function()构造函数与使用function语句的区别 1165.1.7 在表达式中定义函数 1175.1.8 三种定义函数方法的比较 1175.2 调用函数 1185.2.1 直接调用无返回值的函数 1185.2.2 将函数的返回值赋给变量 1195.2.3 将函数的返回值赋给对象属性或数组元素 1205.2.4 综合应用 1225.3 函数的参数 1235.3.1 传递函数参数的注意事项 1235.3.2 传递函数参数的个数和值 1255.4 函数的递归调用 1305.4.1 使用函数名的递归调用 1305.4.2 使用callee属性的递归调用 1305.5 函数的属性与方法 1315.5.1 length属性：函数定义参数个数 1315.5.2 prototype属性：引用原型对象 1335.5.3 caller属性：判断函数调用情况 1355.5.4 自定义属性 1365.5.5 call()方法 1375.5.6 apply()方法 1385.6 系统函数 1405.6.1 编码函数escape() 1405.6.2 解码函数unescape() 1415.6.3 求值函数eval() 1415.6.4 数值判断函数isNaN() 1425.6.5 整数转换函数parseInt() 1435.6.6 浮点转换函数parseFloat() 1445.7 小结 145第6章 对象 1466.1 对象介绍 1466.1.1 对象的概念 1466.1.2 对象的属性 1476.1.3 对象的方法 1476.2 创建对象 1476.2.1 使用构造函数创建内置对象 1476.2.2 直接创建自定义对象 1486.2.3 使用自定义构造函数创建对象 1486.3 对象的属性 1506.3.1 设置对象的属性 1506.3.2 存取对象属性值 1516.3.3 属性的枚举 1516.3.4 删除对象的属性 1526.4 构造函数 1536.4.1 创建简单的构造函数 1536.4.2 创建有默认值的构造函数 1546.4.3 创建有方法的构造函数 1556.5 对象的原型与继承 1566.5.1 对象与类 1566.5.2 继承 1566.5.3 对象自己的方法和属性 1576.5.4 方法与属性的覆盖 1576.5.5 原型对象 1576.6 Object对象 1606.6.1 创建Object对象 1606.6.2 constructor属性：返回对象的构造函数 1616.6.3 toString()方法：对象的字符串表示 1636.6.4 toLocaleString()方法：返回对象的本地字符串表示 1646.6.5 propertyIsEnumerable()方法：是否对象的自有属性 1656.6.6 hasOwnProperty()方法：判断属性是否非继承的 1666.6.7 isPrototypeOf()方法：判断是否原型对象 1676.6.8 valueOf()方法：返回对象的原始值 1686.7 其他系统对象 1696.7.1 Arguments对象 1696.7.2 布尔对象 1696.7.3 日期对象 1706.7.4 数字对象 1816.7.5 数学对象 1856.7.6 字符串对象 1866.7.7 函数对象 1946.7.8 Error对象 1956.7.9 其他对象 1986.8 小结 198第7章 数组 1997.1 数组介绍 1997.1.1 数组的概念 1997.1.2 数组元素 1997.1.3 多维数组 1997.2 定义数组 2007.2.1 构造函数 2007.2.2 定义一个空数组 2007.2.3 通过指定数组长度定义数组 2017.2.4 通过指定数组元素定义数组 2017.2.5 直接定义数组 2027.3 数组元素 2027.3.1 存取数组元素 2027.3.2 添加数组元素 2037.3.3 删除数组元素 2057.3.4 数组元素的个数 2067.4 数组的方法 2077.4.1 toString ()方法：将数组转换为字符串 2077.4.2 join()方法：将数组元素连接成字符串 2087.4.3 push()方法：在数组尾部添加元素 2087.4.4 concat()方法：添加元素并生成新数组 2097.4.5 unshift()方法：在数组头部添元素 2097.4.6 pop()方法：删除并返回数组的最后一个元素 2107.4.7 shift()方法：删除并返回数组的第一个元素 2117.4.8 splice()方法：删除、替换或插入数组元素 2117.4.9 slice()方法：返回数组中的一部分 2127.4.10 reverse()方法：颠倒数组中的元素 2137.4.11 sort()方法：将数组元素排序 2147.4.12 toLocaleString()方法：转换为当地字符串 2157.5 小结 216第二篇　实 用 篇第8章 javascript对象层次与事件处理 2178.1 javascript的对象层次 2178.1.1 javascript对象模型 2178.1.2 客户端对象层次介绍 2178.1.3 浏览器对象模型 2188.1.4 对象的引用 2198.2 事件驱动与事件处理 2218.2.1 事件与事件驱动 2218.2.2 事件与处理代码关联 2218.2.3 调用函数的事件 2218.2.4 调用代码的事件 2228.2.5 设置对象事件的方法 2238.2.6 显式调用事件处理程序 2258.2.7 事件处理程序的返回值 2268.2.8 事件与this运算符 2278.3 常用的事件 2288.3.1 浏览器与事件 2298.3.2 鼠标移动事件 2298.3.3 鼠标单击事件 2308.3.4 加载与卸载事件 2318.3.5 得到焦点与失去焦点事件 2328.3.6 键盘事件 2338.3.7 提交与重置事件 2348.3.8 选择与改变事件 2358.4 小结 236第9章 窗口与框架 2379.1 Window对象 2379.1.1 Window对象介绍 2379.1.2 Window对象的使用方法 2379.1.3 Window对象的属性 2389.1.4 Window对象的方法 2389.1.5 Window对象的事件 2399.2 Window对象事件 2399.2.1 装载文档 2399.2.2 卸载文档 2429.2.3 得到焦点与失去焦点 2449.2.4 调整窗口大小 2459.2.5 错误处理 2459.3 对话框 2489.3.1 警告框 2489.3.2 确认框 2499.3.3 提示框 2519.4 状态栏 2529.4.1 状态栏介绍 2529.4.2 默认状态栏信息 2539.4.3 状态栏瞬间信息 2539.5 窗口操作 2549.5.1 新开窗口 2549.5.2 窗口名字 2609.5.3 关闭窗口 2609.5.4 窗口的引用 2639.5.5 窗口聚焦 2679.5.6 滚动文档 2699.5.7 移动窗口 2709.5.8 调整窗口大小 2719.6 超时与时间间隔 2729.6.1 延迟执行代码 2729.6.2 周期性执行代码 2739.6.3 停止周期性执行代码 2749.6.4 取消延迟执行 2769.7 框架操作 2779.7.1 框架介绍 2779.7.2 框架的数量 2789.7.3 父窗口与子窗口 2789.7.4 窗口之间的关系 2809.7.5 窗口名字 2849.8 Window对象的子对象 2859.8.1 Document对象 2859.8.2 History对象 2859.8.3 Location对象 2859.8.4 Math对象 2859.8.5 Navigator对象 2859.8.6 Screen对象 2869.9 IE浏览器中的方法和属性 2869.9.1 IE浏览器中的方法 2869.9.2 IE浏览器中的属性 2869.10 Netscape浏览器中的方法和属性 2869.10.1 Netscape浏览器中的方法 2869.10.2 Netscape浏览器中的属性 2879.10.3 Netscape浏览器中的事件 2879.11 小结 287第10章 屏幕对象与浏览器对象 28810.1 屏幕对象 28810.1.1 屏幕对象属性 28810.1.2 客户端显示器屏幕分辨率 28810.1.3 客户端显示器屏幕的有效宽度和高度 28910.1.4 颜色深度 29010.1.5 综合应用 29110.2 浏览器对象 29210.2.1 浏览器对象属性 29210.2.2 浏览器对象的子对象 29510.2.3 浏览器对象的方法 30010.3 小结 301第11章 历史对象与地址对象 30211.1 历史对象 30211.1.1 历史对象的属性 30211.1.2 历史对象的方法 30311.1.3 前进与后退 30311.1.4 跳转 30411.2 地址对象 30511.2.1 URL介绍 30511.2.2 地址对象的属性 30711.2.3 地址对象属性的应用：加载新网页 30911.2.4 地址对象属性的应用：获取参数 31111.2.5 地址对象的方法 31311.2.6 地址对象方法的应用：刷新文档 31411.2.7 地址对象方法的应用：加载新文档 31611.3 小结 316第12章 文档对象 31712.1 文档对象概述 31712.1.1 文档对象介绍 31712.1.2 文档对象的属性 31712.1.3 文档对象的方法 31912.1.4 文档中对象的引用方法 31912.2 文档对象的应用 32112.2.1 设置超链接的颜色 32112.2.2 设置网页背景颜色和默认文字颜色 32212.2.3 文档信息 32312.2.4 在标题栏中显示滚动信息 32412.2.5 防止盗链 32512.2.6 在网页中输出内容 32612.2.7 在其他文档中输出内容 33112.2.8 输出非HTML文档 33312.2.9 文档中的所有HTML元素 33512.2.10 引用文档中的HTML元素 33612.2.11 引用文档元素中的子元素 33712.2.12 其他文档信息 34012.3 图像对象 34112.3.1 图像对象介绍 34112.3.2 图像对象的属性 34212.3.3 图像对象的事件 34212.3.4 显示图片的信息 34312.3.5 置换图片 34412.3.6 随机图片 34512.3.7 动态改变图片大小 34612.3.8 缓存图片 34812.3.9 图像对象的load事件 34912.3.10 显示默认图片 35112.4 链接对象 35112.4.1 链接对象的属性 35212.4.2 链接对象的事件 35212.4.3 查看一个网页上的所有超链接 35312.4.4 翻页程序 35312.4.5 网站目录 35612.5 锚对象 35712.5.1 锚对象属性 35712.5.2 锚对象与链接对象的区别 35712.5.3 创建文档索引 35912.6 小结 361第13章 表单对象 36213.1 表单对象概述 36213.1.1 表单对象介绍 36213.1.2 表单对象的属性 36213.1.3 表单对象的方法 36313.1.4 表单对象的事件 36313.2 表单对象的应用 36313.2.1 表单验证 36313.2.2 循环验证表单 36513.2.3 设置表单的提交方式 36613.2.4 重置表单的提示 36813.2.5 不使用提交按钮提交表单 36913.3 表单元素 37013.3.1 表单元素概述 37013.3.2 表单元素的命名 37113.4 文本框 37213.4.1 文本框的创建方式 37213.4.2 文本框的属性 37313.4.3 文本框的方法 37413.4.4 文本框的事件 37413.4.5 限制文本框中输入的字数 37513.4.6 自动选择文本框中的文字 38013.5 按钮 38213.5.1 按钮的创建方式 38213.5.2 按钮的属性 38413.5.3 按钮的方法 38413.5.4 按钮的事件 38413.5.5 网页调色板 38513.5.6 改变多行文本框大小 38613.6 单选按钮和复选框 38713.6.1 创建单选按钮和复选框 38713.6.2 单选按钮和复选框的属性 38813.6.3 单选按钮和复选框的方法 38813.6.4 单选按钮和复选框的事件 38913.6.5 设置单选按钮组与复选框组 38913.6.6 设置单选按钮与复选框的默认选项 39013.6.7 Form对象与Radio对象、Checkbox对象 39113.6.8 组与选项 39113.6.9 获取单选按钮与复选框的值 39313.6.10 限制复选框的选择项数 39413.7 下拉列表框 39613.7.1 创建下拉列表框 39613.7.2 下拉列表框的属性 39713.7.3 下拉列表框的方法 39813.7.4 下拉列表框的事件 39813.7.5 选项对象 39913.7.6 选项对象的属性 40113.7.7 同时显示多行的下拉列表框 40213.7.8 可以同时选择多个选项的下拉列表框 40413.7.9 利用下拉列表框翻页 40513.7.10 简单的选课程序 40613.7.11 二级联动菜单 40813.8 文件上传框 41113.8.1 创建文件上传框 41113.8.2 文件上传框的属性 41313.8.3 文件上传框的方法 41313.8.4 文件上传框的事件 41313.8.5 使用文件上传框的注意事项 41413.8.6 图片预览 41413.9 隐藏域 41513.9.1 创建隐藏域 41613.9.2 隐藏域的属性 41613.9.3 输入提示 41713.10 Fieldset元素 41713.10.1 创建分组 41713.10.2 描述分组信息 41913.11 小结 420第14章 cookie 42114.1 cookie介绍 42114.1.1 什么是cookie 42114.1.2 cookie的作用 42114.2 创建与读取cookie 42114.3 获取cookie的值 42314.4 cookie的编码 42514.5 cookie的生存期 42614.6 cookie的路径 42914.7 cookie的domain 43214.8 cookie的secure 43314.9 使用cookie的注意事项 43414.10 小结 435第三篇　Ajax篇第15章 Ajax介绍 43715.1 传统的Web技术 43715.2 Ajax技术原理 43715.3 Ajax技术的优缺点 43815.4 Ajax技术的组成部分 43915.4.1 javascript 43915.4.2 XMLHttpRequest 43915.4.3 CSS 43915.4.4 DOM 43915.4.5 XML 44015.5 XMLHttpRequest对象 44015.5.1 XMLHttpRequest的方法 44015.5.2 XMLHttpRequest的属性 44015.5.3 XMLHttpRequest的事件 44215.6 实现Ajax 44215.6.1 实现Ajax的步骤 44215.6.2 创建XMLHttpRequest对象 44315.6.3 创建HTTP请求 44415.6.4 设置响应HTTP请求状态变化的函数 44515.6.5 设置获取服务器返回数据的语句 44615.6.6 发送HTTP请求 44615.6.7 局部更新 44715.6.8 一个完整的Ajax实例 44915.7 小结 451第16章 深入Ajax 45216.1 客户端脚本语言 45216.1.1 使用javascript的局部刷新技术 45216.1.2 使用Iframe的局部刷新技术 45316.2 服务器脚本语言 45416.2.1 改进的Iframe局部刷新 45516.2.2 Ajax与服务器互动 45616.3 文档对象模型 45916.4 层迭样式表 46316.5 XML 46516.6 小结 468