【JavaScript】电子书 - Head First JavaScript程序设计-前端电子书论坛-IT电子书-IT面试吧

【JavaScript】电子书 - Head First JavaScript程序设计

该帖子部分内容已隐藏
付费阅读
金币 3
此内容为付费阅读,请付费后查看

书籍封面

书籍目录

封面

数字版权声明

扉页

版权页

献词

O’Reilly Media, Inc. 介绍

对本书的赞誉

Eric T. Freeman和Elisabeth Robson的其他O’Reilly图书

作者简介

目录

前言 如何使用本书

本书适合你阅读吗

我们知道你是怎么想的

我们视读者为学习者

元认知:对思维方式的思考

我们是如何做的

如何让大脑听话

导读

技术审校

致谢

1 JavaScript速览:进入JavaScript的世界

JavaScript的工作原理

如何编写JavaScript

如何将JavaScript代码加入网页

JavaScript,你进步不小

如何编写语句

变量和值

切勿随意命名

自我表达

重复操作

while循环的工作原理

使用JavaScript进行决策

进行大量决策

与用户交流

console.log详述

打开控制台

编写一个正式的应用程序

如何将JavaScript代码加入网页(细数各种方式)

棒打鸳鸯散

2 编写代码:更进一步

开发一款战舰游戏

第一次尝试——简化的战舰游戏

从高层次设计着手

编写伪代码

对了,别忘了HTML

编写简单的战舰代码

编写游戏逻辑

第一步:创建循环并获取输入

prompt的工作原理

检查用户的猜测

判断是否击中

添加击中检测代码

进行游戏后分析

完整的游戏逻辑

一点点质量保证

别这么啰嗦好不好

完善简单的战舰游戏

如何随机地指定位置

举世闻名的随机数生产配方

再来一点点质量保证

说说代码重用

3 函数简介:养成函数思维

这些代码到底有什么问题呢

以前提到过函数吗

函数到底是如何工作的呢

可以向函数传递哪些东西

JavaScript按值传递实参

错误地调用函数

函数还可返回值

详解包含return语句的函数的执行过程

全局变量和局部变量

了解局部变量和全局变量的作用域

短命的变量

千万别忘了声明局部变量

4 让数据排排坐:数组

你能帮助泡泡玩具反斗城公司吗

如何使用JavaScript表示多个值

数组的工作原理

确定数组的长度

自动造句应用程序

回到泡泡玩具反斗城公司

如何迭代数组

等等,还有一种更好的数组迭代方式

别这么啰嗦好不好

使用后递增运算符重新编写for循环

创建空数组并在其中添加元素

胜出的配方是……

快速审视代码

编写函数printAndGetHighScore

使用printAndGetHighScore重构代码

整合起来

5 理解对象:对象镇之旅

对象

属性

如何创建对象

何为面向对象呢

属性的工作原理

变量是如何存储对象的

比较基本类型和对象

使用对象

分步进行预检

更深入地讨论向函数传递对象的情况

如何给对象添加行为

改进方法drive

为何方法drive不知道属性started

关键字this的工作原理

行为如何影响状态

让状态来影响行为

祝贺你熟悉了对象

对象无处不在(它们让你的生活更美好)

6 与网页交互:了解DOM

上一章的密码破解难题

这些代码是做什么的呢

JavaScript如何与网页交互

如何自己动手制作DOM

初尝DOM

使用getElementById获取元素

从DOM获取的到底是什么

查找内部HTML

修改DOM的影响

围绕星球进行试驾

网页加载完毕前别想运行代码

你说“事件处理程序”,我说“回调函数”

如何使用setAttribute设置特性

获取特性

别忘了ge tEleme n tById也可能返回nul l

DOM还有哪些功能

7 类型、相等、转换等:系统地讨论类型

真相就摆在那里

小心,你可能意外遭遇undefined

如何使用null

信不信由你!!

处理NaN

比想象的还要怪异

有一点我们必须告诉你

理解相等运算符

相等运算符如何转换操作数(听起来比实际上危险)

严格相等

深入探讨类型转换

如何判断两个对象是否相等

真值就摆在那里

JavaScript将哪些值视为假值

字符串的神秘生活

为什么字符串既像基本类型又像对象

字符串方法和属性简明教程

座椅争夺战

8 综合应用:编写一个应用程序

编写一个货真价实的战舰游戏

回顾HTML和CSS

创建HTML页面:大致轮廓

再添加一些样式

使用hit和miss类

如何设计这款游戏

实现View对象

displayMessage的工作原理

displayHit和displayMiss的工作原理

模型

如何表示战舰

实现model对象

实现方法fire

实现控制器

处理玩家的猜测

规划代码

实现parseGuess

记录猜测并开火的次数

如何给Fire!按钮添加事件处理程序

将输入交给控制器

如何放置战舰

编写方法generateShip

生成新战舰的起始位置

完成方法generateShip的编写工作

9 异步编码:处理事件

事件是什么

事件处理程序是什么

如何创建第一个事件处理程序

测试事件处理程序

通过创建一个游戏来理解事件

实现游戏

试驾

再添加一些图像

将同一个事件处理程序赋给每幅图像的属性onclick

如何将同一个处理程序用于所有图像

事件对象的工作原理

使用事件对象

测试事件对象和target属性

事件和队列

其他事件

setTimeout的工作原理

完成猜图游戏

测试定时器

10 函数是一等公民:自由的函数

关键字function神秘的双面人生

函数声明和函数表达式

分析函数声明

接下来呢?浏览器执行代码

继续往下执行

函数怎么也是值呢

我们提到过函数在JavaScript中是一等公民吗

乘坐头等舱

编写处理和检查乘客的代码

迭代所有的乘客

向函数传递函数

从函数返回函数

编写让乘客点饮料的代码

编写让乘客点饮料的代码:另一种方式

利用作为一等公民的函数让乘客点饮料

Web镇可乐公司

数组方法sort的工作原理

整合起来

测试排序代码

11 匿名函数、作用域和闭包:系统地讨论函数

函数的另一面

如何使用匿名函数

别这么啰嗦好不好

函数是在什么时候定义的?这要看情况

为何fly未定义

如何嵌套函数

嵌套对作用域的影响

词法作用域简介

词法作用域的有趣之处

再谈函数

再谈函数调用

闭包到底是什么

敲定函数

使用闭包实现神奇的计数器

揭秘

通过将函数表达式用作实参来创建闭包

闭包包含的是实际环境,而非环境的副本

使用事件处理程序来创建闭包

用作按钮单击处理程序的闭包的工作原理

12 高级对象构造技巧:创建对象

使用对象字面量创建对象

按约定创建对象

对象构造函数简介

如何创建构造函数

如何使用构造函数

构造函数的工作原理

还能在构造函数中定义方法

生产时间到了

试驾一些新车

不要将对象字面量弃若敝屣

用一个对象字面量替代所有实参

修改构造函数Car

理解对象实例

即便是创建好的对象,也可以有独特的属性

内置构造函数

数组对象

其他内置对象

13 使用原型:超强的对象创建方式

先来介绍一种更好的对象图

再谈构造函数:它能让我们重用代码,但效率如何呢

重复的方法真是个问题吗

原型是什么

继承原型

继承的工作原理

重写原型

如何设置原型

原型是动态的

方法sit更有趣的实现

再谈属性sitting的工作原理

如何设计表演犬

建立原型链

原型链中的继承原理

创建表演犬原型

创建表演犬实例

最后的整理

Dog.call详解

小狗原型并非原型链的终点

充分发挥继承的威力之重写内置行为

充分发挥继承的威力之扩展内置对象

JavaScript大统一理论

使用对象改善生活

整合起来

继续学习

附录 遗漏内容:未涉足的十大主题

#1. jQuery

#2. 更多地使用DOM

#3. 对象window

#4. arguments

#5. 处理异常

#6. 使用addEventListener添加事件处理程序

#7. 正则表达式

#8. 递归

#9. JSON

#10. 服务器端JavaScript

索引

版权声明

看完了

下载地址

请登录后发表评论

    没有回复内容