这篇是计算机类的优质首发推荐>>>>《JavaScript程序设计:基础·PHP·XML》
内容简介
《华章程序员书库·JavaScript程序设计:基础 PHP XML》从计算机的基础知识开始介绍,涵盖程序设计的基础知识、JavaScript基础知识、JavaScript的循环结构、选择结构、表单、函数和源文件、数组、搜索和排序、文件对象模型和XML、PHP概述及相关知识。《华章程序员书库·JavaScript程序设计:基础
PHP XML》充分考虑初学者的需求,内容深入浅出,每章后都安排了相应的案例、练习和实践项目。
译者序
JavaScript是Web上的一种功能强大的编程语言,用于开发交互式网页。它不仅可以直接应用于HTML文档以获得交互效果或其他动态效果,而且还可以运行于服务器端来替代传统的CGI程序。此外,JavaScript符合ECMAScript语言标准,支持多种程序设计风格。
本书是一本面向入门级Web程序员的教材。书中内容由浅入深,既包含JavaScript的基本编程技术,也涵盖JavaScript与XML、PHP、MySQL的协同编程方法。与国内同类书籍相比,本书具有以下特点:
1)笔法细腻、循序渐进。本书详细讲解了程序设计的基本概念(如变量、选择语句和循环语句等),并且几乎对每个示例程序和代码都有详细的注释和讲解,从而使本书适用于从来没有或者略有编程经验的学生。
2)示例丰富、贯穿始终。本书几乎为每个新知识点都配有相应的例子,并且两个完整的案例(一个游戏网站和一个教学网站)贯穿全书各章正文和练习,从而增强趣味性和实
用性。
3)立足基础、兼顾全局。本书主要讲解基于JavaScript的Web客户端编程技术,此外也简单介绍了Web服务器端开发技术PHP和MySQL,使学生能够很自然地使用JavaScript并且理解与服务器端技术的交互性。
本书可用作高等院校本、专科各专业JavaScript程序设计、Web程序设计和动态网页制作等课程的教材。
由于译者水平有限,译文中疏漏和错误难免,恳请读者批评指正。
译者
于中山大学
部分前言
欢迎阅读本书。作者创作本书的动机是为两年期“因特网服务程序设计”学习过程中的“因特网程序设计Ⅰ”课程提供适当的学习资料。在完成两年Web开发课程之后,学生必须熟悉客户端和服务器端脚本语言。尽管有许多很好的关于静态网页开发技术(HTML、XHTML、HTML5和CSS)的书籍,但涉及JavaScript的书籍要么过于繁琐要么远超出两年期学习计划。因此本书设计成满足入门级程序员的需求,使他们能够很自然地使用JavaScript并且理解它与服务器端技术的交互性。
本书可用于为已了解HTML和CSS知识的学生开设的一学期“JavaScript程序设计”课程。本书程序设计基础部分强调把程序设计概念应用于JavaScript和PHP中,适用于从来没有或者略有编程经验的学生。每个概念都通过简短的例子来帮助读者加深对概念的理解,短例后面紧跟着面向实际环境的较长例子。
两个案例研究贯穿全书:一个游戏网站和一个教学网站。每章都有一节为这两个案例研究增加内容和功能,并且学生可以在每章末尾的编程挑战中补充内容。另外两个网站(一个是园艺公司网站,另一个是珠宝公司网站)也可以从零开始建立,并且学生可以在编程挑战中增强它们的功能。老师可以根据要求调整这些内容。
本书假定学生已经学过HTML和CSS,并且是创建静态网页的好手。然而,不要求学生有编程经验,也不要求学生具备数学、财务或其他学科的特殊知识。当最后一章使用SQL命令时,不要求学生已经接触过SQL或数据库。
本书组织
本书从第0章计算机基础开始,随后第1章着眼于JavaScript程序设计入门的一般概念。第1章介绍贯穿全书的案例研究,但本书各章的案例研究是相互独立的,可以单独使用。第2章介绍变量、操作符和数据类型。对于那些从来没有学习过程序设计课程和熟悉程序设计概念的学生来说,这几章是非常重要的。理解网页和JavaScript代码之间的交互性是JavaScript最基本的重要特征之一。
第3~5章学习JavaScript基本控制结构,即顺序、选择和重复。没有编程经验的学生将学习这些语句结构一般是如何工作的,特别是在JavaScript中。有编程经验的学生可以快速阅读这几章。
第6和7章是JavaScript独有的,包含表单、函数和外部JavaScript文件。由于大多数学生已经在静态网页中使用过表单,所以这里以与JavaScript程序对接的方法讨论表单。
第8和9章包含数组和几种高级搜索与排序技术,这两章连同后面的三章最适合具有牢固编程基础的学生。
第10章讨论文档对象模型并介绍XML,第11和12章介绍PHP。学完这三章后,学生将能够开发使用数据库处理数据的网站。学生可以使用免费程序XAMPP在计算机上建立一个含有MySQL和PHP软件的Apache服务器。本书将详细介绍这个软件的操作方法。不需要具备MySQL或数据库知识,学生可以借助给出的MySQL命令建立使用数据库、服务器和PHP的实际环境,从而创建一个动态网站。
每章都有很多例子。自始至终,例子、检查点和练习的难度依次从最基本的概念理解提高到非常有挑战性的实际应用。每章包含一节操作实践,在此开发案例研究网站Greg‘s Gambits和Carla‘s Classroom。在每章末尾的编程挑战部分,要求学生对这些案例研究进行补充。如果从本书开始学习到结束,开发的这些案例研究将建成健壮的网站。编程挑战还包含另外两个案例研究,即Lee‘s
Landscape和Jackie‘s Jewelry网站,学生将完全靠自己建立这两个网站。本书在编程挑战部分为Greg‘s Gambits和Carla‘s Classroom项目提供了很多帮助,而为Lee‘s Landscape和Jackie‘s Jewelry项目只提供了很少的帮助。老师可以决定学生完成这些项目的独立程度。
练习部分包含填空题、判断题和简答题,而在编程挑战部分学生能够使用相应章节学习的知识创建自己的网页。
各章简介
格式说明
本书通过使用不同的字体来区分程序代码,变量和数组名是粗体。有时某些代码必须单行录入,但是限于纸张大小不可能完整地把这些代码显示在一行,因此使用符号表示下一行代码应该是上一行的一部分,这个符号不应该包含在内。如果没有符号,那么下列样例代码应该录入在同一行。注意,其中的变量dinner是粗体:
第1章本章介绍程序设计和JavaScript,讨论程序设计的一般问题解决策略以及程序的基本结构和3种控制结构,讨论用伪代码和流程图规划程序以及数据类型,引导学生在网页中创建JavaScript脚本,讨论对象、点标记以及几个重要的JavaScript方法和事件,介绍Greg‘s Gambits和Carla‘s Classroom网站并使用JavaScript为这些网站创建交互页面。
第2章本章着眼于变量、JavaScript数据类型和操作符(包括算术、关系和逻辑操作符),解释类似JavaScript的弱类型语言和强类型语言的区别,讨论连接操作符的使用和JavaScript对用户输入数字的处理方法,讨论条件操作符从而使学生在不会使用选择结构的情况下创建有趣的页面,讨论操作符优先级和ASCII码。学生要为Greg‘s Gambits网站创建填字游戏并为Carla‘s
Classroom网站创建拼写课。
第3章本章讨论判断(选择)结构(包含单路、二路和多路分支结构)。介绍switch语句、验证方法和Math对象,使用嵌套选择结构和复合条件开发程序。学生可以使用Math.random()方法创建有趣的程序,要为Greg‘s Gambits创建幸运预言程序并且为Carla‘s Classroom创建一门算术课。
第4章本章从重复结构开始,着眼于基本的循环结构:前测、后测循环,哨兵控制循环,计数器控制循环以及用于数据输入和数据验证的循环。循环语句包括while循环、do...while循环和for循环。学生要为Greg‘s Gambits创建一个信息编码器并且为第3章创建的Carla‘s Classroom算术课增加很多功能和深度。
第5章本章进一步探讨第3章和第4章涉及的重复结构和选择结构,通过使用Math对象的一些方法介绍总数和平均数的计算方法,深入探讨嵌套结构(包括循环中的选择结构、循环中的循环和选择结构中的循环)以及台式检查。介绍提前退出循环的各种方法。学生要为Greg‘s Gambits创建一个战斗游戏(石头-纸-剪刀游戏的变种)并且为Carla‘s Classroom创建语法课。
. 第6章大多数学过网页制作课程的学生已经处理过表单,然而本章的目的是让学生熟悉用JavaScript处理表单。由于网页制作课程已经讨论过基本的表单控件(单选按钮、复选框、文本框、文本区框、选择列表)以及隐藏字段和特殊控件(密码元素、提交和重置按钮),因此本章着眼于把表单数据返回给JavaScript程序,然后这个程序可以使用这些数据并且把其他信息返回给网页或者通过电子邮件把信息发送给用户。学生要为Greg‘s Gambits网站用户创建一个物品目录页面,并且为Carla‘s Classroom网站的Carla生成一份将发送给学生父母的学习进度报告。
第7章本章包含函数、对象和JavaScript源文件,讨论内置和自定义函数,包含变量作用域、使用实参和形参、值参数和引用参数、按引用传递与按值传递,介绍新的对象(Boolean对象和Date对象)并且提供Math对象的更多信息,介绍创建和使用外部JavaScript源文件。学生要为Greg‘s Gambits创建一个悬吊人猜字游戏,并且为Carla‘s Classroom创建阅读理解课。
第8章本章是着眼于数组的两章中的一章,讨论作为JavaScript对象的数组概念(包含一维数组、二维数组和平行数组),讨论装载数组的不同方法以及几个添加和删除数组元素的JavaScript数组方法。学生要为Greg‘s Gambits创建一个数字拼图游戏15,并且为Carla‘s Classroom创建一个幻灯片放映。
第9章本章基于第8章,讲解排序和搜索数组,讨论JavaScript的sort()和reverse()方法。为了维护平行数组的完整性,开发其他搜索和排序方法,包括两个排序算法(冒泡排序和选择排序)、两个搜索算法(线性搜索和二分搜索)以及一些实施搜索的JavaScript方法。学生要为Greg‘s Gambits创建一个拼字游戏并且为Carla‘s Classroom创建因数分解课。
第10章本章从JavaScript转到相关主题,讨论文档对象模型(DOM)和XML,讨论DOM节点和树的概念以及网页的父子模型,讨论用DOM技术创建、插入、删除和替换元素以及使用DOM方法创建定时器。本章还介绍了XML、XSL、命名空间和模式。在为Greg‘s Gambits创建页面时,结合使用XML和JavaScript是显示数据的另一种替代方法,结合使用XML和JavaScript为Carla‘s Classroom创建拼写课。
第11章这是两章PHP相关内容的一章。要使用PHP,学生必须能够访问服务器。本章向学生介绍XAMPP的安装和使用方法,它是一个包含Apache服务器、PHP和MySQL的免费程序,并且能够安装在任何个人计算机或笔记本电脑上。本章讨论PHP基本知识,包括PHP文件名、如何访问Apache服务器的文件、PHP数据类型、PHP操作符和PHP关键字,介绍PHP的基本程序结构(包括顺序、选择和重复)与PHP数组和字符串,强调在服务器上为网站创建适当的文件夹结构。学生要使用PHP为Greg‘s Gambits创建欢迎页面,并且通过使用ajax_post()函数让用户向服务器发送和返回数据。学生还要使用PHP为Carla‘s
Classroom创建一个页面,让用户输入部分名字然后程序显示一个大数组中的所有条目或者以那些字符开头的列表(也就是说,程序为用户提供可用选项并最终能够用于自动完成用户录入)。
第12章本章在第11章介绍PHP的基础上示范如何完成两个特别而又重要的任务,讨论创建和读取Cookie,指引学生使用phpMyAdmin控制台创建数据库(它是XAMPP安装的一部分)。然后,使用PHP方法填充数据库。因为本书不包括MySQL的学习并且不要求学生具备数据库管理和MySQL知识,所以本章给出开发程序所需要的所有MySQL命令和语句,并且给出解释。这样,学生就能够为想要成为Greg‘s Gambits游戏网站成员的玩家创建和验证账户。学生也要为Carla‘s Classroom创建一个数据库,并且从数据库中提取信息从而向学生父母发送一封电子邮件报告。
版权声明:本文为博主原创文章,未经博主允许不得转载。