全书共28章, 具体内容包括JavaScript概述、基本语法、函数、JavaScript对象与数组、字符串处理、正则表达式、函数式编程、面向对象编程、浏览器对象模型、事件处理、文档对象模型、客户端存储、脚本化CSS、JavaScript中的XML和JSON、JavaScript通信、HTML5新技术等。
“网络开发视频大讲堂”丛书系清华社“视频大讲堂”重点大系之一。该大系包括多个子系列,每个子系列的图书在其同品种的图书中销售名列前茅,其中:
4个品种荣获“全行业热销品种”
1个品种荣获2012年清华大学出版社“专业热销书”一等奖
绝大多数品种在“计算机零售图书排行榜”同品种排行中名列前茅
截至目前该大系累计销售超过55万册
该大系已成为近年来清华社计算机专业基础类零售图书热销的品牌之一
“网络开发视频大讲堂”系列作为清华社“视频大讲堂”大系的子系列之一,继承和创新了清华社“视频大讲堂”大系的编写模式、写作风格和优良品质。本书突出了以下内容:
478节大型高清同步视频演示讲解,可反复观摩,让学习更为快捷
166个实战案例,通过实例学习更深入,更有趣,更有动力
2个大型综合实战案例,展现工作过程,积累工作经验
?实用网页模板380套,网页配色辞典1部,协调色配色参考7套,网页色彩搭配图43张,不同色系实物配色卡540张,实用配色参考18部,网页设计素材13类
?PS分层模板10套,PS样式8类,PS滤镜46个,PS渐变样式6类,PS笔刷样式9类,PS填充图案5类,PS字体集合1000个
?HTML工具集6部,CSS工具集8部,JavaScript工具集16部,PS帮助手册1部
?HTML应用案例360个,CSS3应用案例510个,JavaScript+jQuery应用案例900个,网页交互设计案例1000个
?Web前端开发规范手册1部,JavaScript知识点思维导图10张,HTML+CSS面试题351道,JavaScript面试题685道,网页欣赏
前言:
JavaScript是目前最流行的编程语言之一,在2015年9月Tiobe编程语言排行榜中位居第7。作为一种轻型的、解释型的程序设计语言,JavaScript主要应用于Web前端开发,它以脚本的形式嵌入到网页文档内,由客户端浏览器负责解析和执行。
JavaScript语言最近几年发展速度比较快,也非常受网页设计人员欢迎。它的优势在于灵活和轻巧,同时也是少数几种能够兼顾函数式编程和面向对象编程的语言。本书将系统讲解JavaScript的语言特性,帮助读者完全掌握JavaScript编程技巧。
本书特色
?知识系统,内容全面
系统性是初学者完全认识和掌握一门语言的基础,它体现在知识、结构的有序、完整和严谨上。很多读者由于没有意识到这个问题的重要性,随意选择一本与JavaScript相关的图书,仅提供了碎片化的知识,不能够很好地发挥JavaScript优势。本书不仅关注JavaScript语言词法、语法体系的完整性,同时系统讲解JavaScript所有核心特性,以及JavaScript拓展技术与应用。
?语言通俗易懂
本书以通俗、生动的语言描述复杂的技术话题和概念应用,同时在详尽的描述中,对于重难点技术和知识点,力求简洁明了,避免机械式说明。这对于读者理解和铭记一些重难点概念和知识是必要的。
?由浅入深,循序渐进
本书以初、中级程序员为对象,先从JavaScript基础学起,然后学习JavaScript的核心技术,最后学习JavaScript的高级应用。讲解过程中步骤详尽,内容新颖。
?语音视频,讲解详尽
书中每一章节均提供声图并茂的语音视频教学录像,读者可以根据书中提供的视频位置,在光盘中找到。这些视频能够引导初学者快速入门,感受编程的快乐和成就感,增强进一步学习的信心,从而快速成为编程高手。
?实例典型,轻松易学
通过例子学习是最好的学习方式,本书通过一个知识点、一个例子、一个结果、一段评析、一个综合应用的模式,透彻详尽地讲述了实际开发中所需的各类知识。
?应用实践,随时练习
书中几乎每章都提供了大量案例,帮助读者实践与练习,读者能够通过反复上机练习重新回顾、熟悉所学的知识,举一反三,为进一步学习做好充分的准备。
本书内容
本书分为5大部分,共28章,具体结构划分如下。
第1部分:JavaScript概述,包括第1章~第2章。这部分内容主要介绍了JavaScript基本概念和基本知识,以及如何快速上手测试JavaScript代码。
第2部分:JavaScript核心编程,包括第3章~第13章。这部分内容主要介绍JavaScript核心部分编程,包括变量、数据类型、表达式、运算符、语句、函数、数组、对象、正则表达式、函数式编程和面向对象编程。
第3部分:JavaScriptDOM,包括第14章~第17章。这部分内容主要介绍JavaScript客户端开发的相关知识和技术,如浏览器脚本化、网页脚本化、样式表脚本以及事件处理。
第4部分:JavaScript扩展,包括第18章~第27章。这部分内容主要介绍JavaScript各种扩展技术,如HTML5动画、网页存储、Ajax、XML、JSON、ECMAScript5和ECMAScript6新规范讲解、移动定位、多线程和离线应用。
第5部分:本部分包括第28章,本章通过两个综合实例演示了如何使用JavaScript进行实战开发的过程。
本书约定
运行本书示例,需要下列软件:
?Windows2000、WindowsServer2003、WindowsXP、WindowsVista或MacOSX。
?IE5.5或更高版本。
?Mozilla1.0或更高版本。
?Opera7.5或更高版本。
?Safari1.2或更高版本。
为了节省版面,本书所显示的示例代码都是局部的,读者需要在网页中输入
作者简介:
杨凡,资深Web技术专家,有10余年开发经验,是国内较早专业从事Web开发的一线技术人员和培训讲师。一直致力于对HTML5、JavaScript、CSS3、jQuery、jQUeryMobile等Web开发技术的研究和实践,在HTML页面的优化与用户体验的研究,以及页面框架搭建、数据流向分析、页面静态优化等方面都拥有丰富的实践经验。他还是微软技术方面的专家,精通C#、ASP.NET和SQLServer等技术。
19.1Cookie概述
HTTP是一种无序协议,它不会记录或跟踪用户的访问信息。这意味着Web服务器无法直接分辨用户的身份,记忆用户的足迹。不管是老用户,还是新用户,对于Web服务器来说,都是新面孔。这种无序状态能够在一定程度上降低服务器运行的复杂性,提高响应速度,当然也存在很多问题。例如,刚登录完毕,再次回来时就需要重新登录;刚设置的页面环境,如果刷新页面,则还需要重新设置;重复的表单信息,却需要反复输入。
19.1.1认识Cookie
1995年Netscape2.0版本浏览器推出,Netscape2.0开始支持Cookie技术。Cookie是存储在用户系统中的一个文本文件,该文本文件与某个Web服务器域中的某个目录相关联,当用户的浏览器向服务器请求该目录中某个页面时,客户端的Cookie信息就会随着HTTP请求一起发送到服务器端。这样就可以使用JavaScript在客户端设置和检索Cookie信息,同时服务器端也能够读取这些Cookie信息,从而实现跟踪和记录用户访问的目的。
Cookie特别适合完成类似如下的各种工作:
t跟踪访问者的访问次数、最后访问时间和访问者进入站点的路径等。
t记录在线广告点击次数,记录用户是否投票、是否登录、是否选购等信息。
t可以减轻表单输入的繁琐,只要输入一次,在有效时间内用户就不用再重复输入。
t可以统计用户资料,并根据这些信息设计个性化服务。
t可以记录用户的页面设置信息,避免重复配置环境。
由于Web服务器可以通过Cookie观察用户的浏览习惯,从而将用户信息加以细化,以方便站点为不同用户定制信息,实现个性化的服务。因此,Cookie一直是浏览器和服务器开发中钟情的一项技术,也确实为广大互联网用户带来了很大的便利。
19.1.2Cookie字符串
在JavaScript中,一个Cookie实际就是一个字符串属性。当对Cookie进行读操作时,可以得到一个字符串,这个字符串包含了应用到当前文档的所有Cookie的名称和值。通过设置Cookie的值可以创建、修改或删除一个Cookie。除了名/值对外,每个Cookie都包含4个可选的属性,分别用来定义Cookie的有效期、可见性和安全性。
t所谓有效期,就是Cookie存在的时间,由expires属性设置。在默认情况下,Cookie是临时存在的,当会话结束后就被删除(即浏览器被关闭后或退出Web服务器的域)。如果希望Cookie存在的时间超过一个浏览会话期,可以使用expires属性指定一个终止日期,这样浏览器就会把Cookie保存到一个本地文件中,以方便下次访问时读取。一旦超过了终止日期,那个Cookie就会自动从Cookie文件中删除。
t可见性包括Cookie的路径(path)和域(domain)。path属性设置Cookie的有效路径(或者说可以访问的目录),默认为当前文件所在的目录。domain属性可以设置Cookie关联的域,即设置可以访问Cookie的站点,默认为当前站点。
t安全性是指Cookie信息在客户端与服务器端传递时是否采取安全策略,它主要通过secure属性来设置,secure是一个布尔值,可以设置Cookie信息的传输方式。注意,expires、path、domain和secure都是Cookie的属性,而不是JavaScript对象的属性。
一个Cookie字符串应该由下面几部分组成。
tname(名称):每一个Cookie都有一个名称(具有唯一性,即一个Cookie中不能够包含多个名称)。这个名称可以包含字母、数字和下划线。与JavaScript变量不同,Cookie的名称是不区分大小写的。例如,name和Name是相同的。为了安全起见,建议保持大小写习惯,因为有些服务器端软件区分大小写。
tvalue(值):具体的Cookie信息,为了防止值中包含特殊的字符,建议使用JavaScript方法对其进行编码,当然在读取时也不要忘记解码。Cookie名称和值的字节数不能超过4096个字符(即4KB)。
tdomain(域):不同网站只能够访问自己域内的Cookie信息,网站之间不能够互访。不过,用户可以通过设置域以实现网站之间的相互访问。
tpath(路径):不同的Cookie信息只能够在指定的目录下有效,其他目录文件是禁止访问的。此时,可以通过该属性来设置有效访问的路径。
texpires(失效日期):Cookie信息仅是暂时存在的,不过通过设置expires属性可以延长Cookie的生存期。
secure(安全标识):布尔值,当为true时,表示以安全方式传递Cookie信息,否则根据常规方式传递Cookie信息。
……