《全栈开发实战宝典》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:优逸客科技有限公司编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111612629
  • 页数:460 页
图书介绍:“全栈”翻译自英文Full-Stack,表示为了完成一个项目,所需要的一系列技术的集合。IT行业到现阶段,开发一个Web应用,工程师需要具备的技能涵盖:前端标记语言(HTML5、CSS3),前端编程语言(JavaScript),服务器端编程语言(比如Nodejs)数据库(比如Mongodb)等,这些环节互相联系、互相依赖,缺一不可。本书分享了全栈工程师的技能要求、核心竞争力、未来发展方向、以及对移动端的思考,内容涵盖了web全栈开发中方方面面。既可以给互联网行业新人提供一个精准的技术路线图,又可作为相关从业程序员开箱即用的工具书。

第1部分 全栈之JavaScript 1

第1章 JavaScript基础概念 2

1.1 JavaScript的用途 3

1.1.1 数据的验证 3

1.1.2 制作页面动态效果 3

1.1.3 对事件做出响应 3

1.1.4 单页面应用 3

1.1.5 网页游戏 3

1.1.6 服务器端的应用 4

1.2 JavaScript的发展历史 4

1.2.1 悄然诞生 4

1.2.2 稳步发展 5

1.2.3 黄金时代 5

1.2.4 JavaScript和ECMAScript 5

1.2.5 JavaScript和Java 5

1.3 JavaScript的语法特点 6

1.3.1 基于对象 6

1.3.2 事件驱动 6

1.3.3 松散型 7

1.3.4 解释型 7

1.4 JavaScript的引入方式 7

1.4.1 在域名或者重定向的位置引入 7

1.4.2 在事件中引入 8

1.4.3 在页面中嵌入 8

1.4.4 引入外部JavaScript文件 9

1.4.5 注意事项 9

1.5 JavaScript中的输出工具 9

1.5.1 console 10

1.5.2 alert() 10

1.5.3 document.write(); 11

1.5.4 prompt(str,[value]); 11

1.5.5 confirm() 11

1.5.6 JavaScript注释 12

第2章 基本构成 13

2.1 JavaScript变量 14

2.1.1 变量的概念 14

2.1.2 变量的声明和赋值 15

2.1.3 声明变量的其他注意事项 16

2.2 数据类型 17

2.2.1 typeof操作符 18

2.2.2 初始类型 18

2.2.3 引用类型 21

2.3 JavaScript运算符 21

2.3.1 算术运算符 22

2.3.2 关系运算符(或比较运算符) 23

2.3.3 赋值运算符 25

2.3.4 逻辑运算符 25

2.3.5 一元运算符 27

2.3.6 三元运算符 29

2.3.7 特殊运算符 29

2.4 JavaScript流程控制 30

2.4.1 名词解释 30

2.4.2 选择结构 30

2.4.3 循环结构 35

第3章 函数和数组 39

3.1 函数的基本概念 40

3.1.1 函数的声明 40

3.1.2 函数的调用 41

3.1.3 参数 44

3.1.4 函数的返回值 46

3.1.5 作用域 47

3.1.6 回调函数 49

3.1.7 递归函数 50

3.1.8 闭包函数 51

3.2 内置顶层函数和数据类型转换 52

3.2.1 内置顶层函数 52

3.2.2 数据类型转换 53

3.3 ES6中新增的函数语法 54

3.3.1 函数参数的默认值 54

3.3.2 函数的name属性 55

3.3.3 箭头函数 55

3.4 数组 56

3.4.1 数组的概念 56

3.4.2 数组的创建 56

3.4.3 数组的访问 58

3.4.4 数组的遍历 58

第4章 对象 61

4.1 JavaScript对象 62

4.1.1 名词解释 62

4.1.2 创建对象的方法 63

4.1.3 属性与方法 64

4.1.4 销毁对象 65

4.1.5 对象的遍历 66

4.1.6 对象的存储方式 66

4.1.7 instanceof 66

4.2 对象的特性 67

4.2.1 对象的特性——封装 67

4.2.2 对象的特性——继承 68

4.2.3 this指针 70

4.2.4 对象的分类 72

4.3 ES6中对象的新特性 72

4.3.1 类的支持 72

4.3.2 变量的解构赋值 73

4.3.3 扩展运算符(spread)和rest参数 74

4.3.4 属性的简洁表示 76

4.3.5 属性名表达式 77

4.3.6 方法的name属性 77

第5章 原生对象 78

5.1 Object对象 79

5.1.1 Object的常用方法 79

5.1.2 属性的遍历(Object对象方法的使用) 83

5.2 Math对象 84

5.2.1 Math对象的属性 84

5.2.2 Math对象的方法 84

5.3 字符串对象 86

5.3.1 创建String对象 86

5.3.2 字符串对象的属性 86

5.3.3 字符串对象的方法 86

5.4 数组对象 91

5.4.1 数组对象的属性 91

5.4.2 数组对象的方法 92

5.4.3 数组对象的构造函数的方法 98

5.5 日期对象 99

5.5.1 定义日期对象 99

5.5.2 获取日期信息的方法 99

5.5.3 设置日期的方法 100

5.6 正则 101

5.6.1 正则表达式的概念 101

5.6.2 应用场合 102

5.6.3 创建正则表达式 102

5.6.4 正则表达式的模式 103

5.6.5 正则方法 104

5.6.6 字符串中用到正则的函数 106

5.7 Set数据结构 107

5.7.1 Set基本用法 107

5.7.2 Set属性和方法 108

5.7.3 Set遍历方法 108

5.7.4 WeakSet 109

5.8 Map数据结构 109

5.8.1 Map基本用法 109

5.8.2 Map属性和方法 110

5.8.3 Map遍历方法 111

5.8.4 Map与数组对象的转换 112

5.8.5 WeakMap 113

第6章 常见网页效果制作 114

6.1 BOM介绍 115

6.1.1 window对象 115

6.1.2 document对象 117

6.1.3 history对象 118

6.1.4 location对象 118

6.1.5 screen对象 119

6.1.6 navigator对象 119

6.2 DOM介绍 119

6.2.1 对内容进行操作 121

6.2.2 对样式进行操作 122

6.2.3 对属性的操作 123

6.2.4 对类名的操作 123

6.2.5 事件 124

6.2.6 综合运用——制作网页轮播图效果 128

6.2.7 获取位置和尺寸 133

6.2.8 获取具有滚动条元素的滚动位置 134

6.2.9 案例展示——楼层跳转效果制作 135

6.2.10 结点的属性和方法 137

6.2.11 事件对象 138

6.2.12 事件流 142

6.2.13 案例展示——移动端可拖曳轮播图展示 144

6.3 综合练习——面向对象的打字游戏 146

第7章 AJAX详解 154

7.1 AJAX原理介绍 155

7.1.1 AJAX的特点 155

7.1.2 与传统的Web应用比较 155

7.1.3 AJAX的工作原理 155

7.1.4 XMLHttpRequest对象 155

7.1.5 GET和POST的区别 157

7.1.6 同步和异步的区别 158

7.2 AJAX函数封装 158

7.3 AJAX运用 160

第8章 客户端存储及应用 165

8.1 Cookie简介 166

8.1.1 Cookie的作用 166

8.1.2 Cookie的基本概念 166

8.1.3 Cookie的用法 167

8.1.4 Cookie的封装函数 167

8.1.5 利用Cookie保存文字阅读器的状态 168

8.2 localStorage和sessionStorage简介 170

8.3 使用localStorage 172

第9章 jQuery原理及用法 178

9.1 jQuery概述 179

9.2 jQuery核心思想 179

9.3 jQuery隐式循环 181

9.4 jQuery链式调用 183

9.5 jQuery跨平台 184

9.6 jQuery选择器 186

9.7 jQuery筛选 187

9.7.1 过滤 187

9.7.2 查找 187

9.7.3 串联 188

9.8 jQuery属性 188

9.8.1 属性 188

9.8.2 CSS类 189

9.8.3 HTML代码/文本/值 189

9.9 jQuery CSS 189

9.9.1 样式 190

9.9.2 位置 190

9.9.3 尺寸 191

9.10 jQuery文档处理 191

9.10.1 内部插入 192

9.10.2 外部插入 192

9.10.3 包裹 193

9.10.4 替换 193

9.10.5 删除 193

9.10.6 复制 194

9.11 jQuery事件 195

9.11.1 页面载入 195

9.11.2 事件处理 195

9.11.3 事件触发 196

9.11.4 事件委派 196

9.11.5 事件 196

9.12 jQuery事件对象 197

9.13 jQuery效果 198

9.13.1 基本方式 198

9.13.2 自定义动画 199

9.13.3 动画控制 199

9.14 j Query AJAX 200

9.14.1 json参数的选项 200

9.14.2 AJAX的函数实现 200

9.14.3 全局处理函数 201

9.15 jQuery工具 202

9.16 综合案例制作——轮播图 204

9.17 综合案例制作——扑克牌 206

第2部分 全栈之PHP+MySQL 212

第10章 PHP基础 213

10.1 PHP的使用 214

10.2 PHP的数据类型 216

10.3 PHP的变量 218

10.4 PHP的常量 219

10.5 PHP的表达式、运算符和流程控制 220

10.6 PHP的函数 221

10.7 PHP的类与对象 223

10.8 PHP使用PDO连接数据库 227

第11章 MySQL基础 230

11.1 MySQL简介 231

11.2 检索数据 231

11.3 排列数据 233

11.4 过滤数据 234

11.5 计算字段 236

11.6 使用函数 236

11.7 分组数据 238

11.8 联结表 239

11.9 插入数据 240

11.10 更新和删除数据 240

11.11 创建和操作表 240

11.12 使用视图 241

第12章 PHP框架 243

第3部分 全栈之框架 251

第13章 AngularJS 252

13.1 AngularJS简介 253

13.2 AngularJS特性 253

13.3 AngularJS核心思想 253

13.4 AngularJS的优势 254

13.5 AngularJS应用组成 254

13.6 AngularJS环境搭建 254

第14章 第一个应用程序 255

14.1 AngularJS MVC架构 256

14.2 AngularJS应用实例 256

14.2.1 原生JavaScript实现 256

14.2.2 AngularJS实现 256

第15章 AngularJS模块 258

15.1 AngularJS模块简介 259

15.2 模块的优点 259

15.3 创建模块 259

15.4 添加控制器 259

15.5 添加指令 260

第16章 作用域 261

16.1 作用域简介 262

16.1.1 作用域的作用 262

16.1.2 作用域概述 262

16.2 定义作用域 262

16.3 作用域层级 263

第17章 控制器 265

17.1 控制器简介 266

17.2 控制器定义 266

17.2.1 函数式创建 266

17.2.2 模块化定义 266

17.3 控制器嵌套 267

第18章 表达式 268

18.1 表达式概述 269

18.1.1 表达式简介 269

18.1.2 AngularJS表达式的特性 269

18.2 表达式的使用 269

18.2.1 表达式数字 269

18.2.2 表达式字符串 269

18.2.3 表达式对象 270

18.2.4 表达式数组 270

第19章 过滤器 271

19.1 过滤器简介及其用法 272

19.2 在HTML中使用过滤器 272

19.2.1 currency过滤器 272

19.2.2 lowercase/uppercase过滤器 273

19.2.3 filter过滤器 273

19.2.4 limitTo过滤器 273

19.2.5 orderBy过滤器 274

19.3 在JavaScript中使用过滤器 275

19.4 自定义过滤器 275

第20章 指令 276

20.1 指令简介 277

20.2.内置指令 277

20.2.1 基础指令 277

20.2.2 事件类指令 277

20.2.3 表单类指令 278

20.2.4 样式类指令 279

20.2.5 DOM操作相关指令 280

20.2.6 指令扩展 280

20.3 自定义指令 281

20.3.1 第一个自定义指令 281

20.3.2 参数详解 281

第21章 多重视图和路由 288

21.1 路由简介 289

21.2 安装 289

21.3 布局 289

21.4 配置 290

第22章 依赖注入简介及使用 292

第23章 服务 296

23.1 服务概述 297

23.2 使用服务 297

23.2.1 $http服务 297

23.2.2 $timeout服务 299

23.2.3 $interva1服务 299

23.2.4 $location服务 299

第24章 动画 301

24.1 动画概述 302

24.2 动画的安装与原理 302

24.2.1 安装 302

24.2.2 原理 302

24.3 动画实现 303

24.3.1 CSS 3过渡 303

24.3.2 CSS 3动画 304

24.3.3 JavaScript中的动画 305

24.3.4 在定义指令中使用动画 306

第25章 综合案例 307

第26章 初识React 315

26.1 前端架构的变迁 316

26.1.1 前后端不分的时代 316

26.1.2 后端MVC时代 316

26.1.3 AJAX的SPA时代 316

26.1.4 前端为主的MV*时代 317

26.2 React简介 317

26.3 专注于视图 317

26.4 React解决的问题 317

26.5 虚拟DOM机制 317

26.5.1 虚拟DOM介绍 317

26.5.2 虚拟DOM的意义 318

26.6 React组件 318

26.6.1 组件化的概念 318

26.6.2 组件化的意义 319

第27章 React基础 320

27.1 React开发环境 321

27.1.1 安装React 321

27.1.2 浏览器端的使用 321

27.1.3 基于Webpack工程化构建工具 322

27.2 React组件构建 325

27.2.1 渲染组件 325

27.2.2 创建组件 326

27.2.3 示例 326

27.3 JSX简介 327

27.3.1 JSX的由来 327

27.3.2 JSX介绍 327

27.3.3 使用JSX的原因 327

27.3.4 JSX的基本原理 328

27.4 开始使用JSX 328

27.4.1 在浏览器中使用JSX 328

27.4.2 基本语法 329

27.4.3 元素类型 329

27.4.4 元素属性 330

27.4.5 JSX注释 330

27.4.6 求值表达式 331

27.5 React中的非DOM属性 332

27.5.1 dangerouslySetInnerHTML属性 333

27.5.2 ref属性 333

27.5.3 key属性 334

27.6 组件的生命周期 334

27.6.1 初始化阶段 335

27.6.2 运行中阶段 336

27.6.3 销毁阶段 336

27.7 React操作DOM 337

27.7.1 ref获取DOM 337

27.7.2 findDOMNode获取DOM 337

27.8 React属性与状态 338

27.8.1 数据流 338

27.8.2 props属性 338

27.8.3 状态 340

27.9 React事件 341

27.9.1 React事件处理 342

27.9.2 React合成事件 342

27.9.3 React支持事件 342

27.9.4 事件中的this指向 342

27.9.5 在React中使用原生事件 345

27.9.6 对比React合成事件与JavaScript原生事件 345

27.10 React表单 345

27.10.1 表单类型 346

27.10.2 无约束表单 346

27.10.3 约束性组件 346

27.10.4 表单控件 347

27.11 使用CSS样式 350

27.11.1 行内方式添加样式 350

27.11.2 类名方式添加样式 351

第28章 React进阶 352

28.1 React组件组合 353

28.1.1 组件组合 353

28.1.2 组件包含 355

28.2 React组件间通信 356

28.2.1 父组件向子组件通信 357

28.2.2 子组件向父组件通信 357

28.3 React性能优化 358

28.4 React动画 359

28.5 React Router 361

28.5.1 路由的基本原理 361

28.5.2 React Router特性 361

28.5.3 安装react-router-dom 362

28.5.4 路由中的组件 362

28.5.5 路由实例 363

第29章 React应用实例 366

29.1 项目介绍 367

29.2 项目分析 368

29.2.1 公共部分组件 368

29.2.2 首页组件划分 368

29.2.3 城市选择页面 369

29.3 准备开发环境 369

29.3.1 建立项目文件夹 369

29.3.2 项目初始化 369

29.3.3 安装指定npm包 370

29.3.4 Webpack配置文件 371

29.3.5 应用目录结构 374

29.4 天气应用 375

第4部分全栈之Node .js 383

第30章 初识Node .js 384

30.1 Node.js简介 385

30.2 Node.js的发展 385

30.3 Node.js的特性 385

30.4 Node .js的使用场景 385

30.5 Node .js和JavaScript的区别与联系 386

30.6 CommonJS 386

第31章 Node.js的安装 388

31.1 下载Node.js 389

31.2 Node .js的版本信息 389

31.3 Node.js的安装方法 389

第 32章 Node.js模块系统 391

32.1 模块化编程 392

32.2 Node.js中模块的分类 392

32.3 模块操作 392

32.3.1 require 392

32.3.2 exports 393

32.3.3 module 393

32.3.4 module的其他API 394

32.4 模块加载的优先级 394

32.5 模块路径解析规则 395

32.6 Node.js包 396

32.6.1 包的概念 396

32.6.2 自定义包 396

32.6.3 包配置文件package.json 397

第33章 Node .js包管理工具 399

33.1 npm简介 400

33.2 npm常见的使用场景 400

33.3 npm常用命令 400

33.3.1 使用npm安装模块 400

33.3.2 全局安装与本地安装 401

33.3.3 模块中的其他操作 402

33.3.4 版本号 402

33.4 向npm服务器发布自己的包 402

第34章 Node.js全局对象 404

34.1 Buffer类 405

34.2 console模块 409

34.3 process对象 411

34.4 global对象的方法 413

34.5 魔术常量 414

第35章 Node.js常用模块 415

35.1 path模块 416

35.2 child_process模块 417

35.3 url模块 419

35.4 querystring模块 423

第36章 Node.js中的fs模块 424

36.1 使用fs模块 425

36.2 常用操作 426

36.2.1 异步读取文件 426

36.2.2 同步读取文件 428

第37章 Node .js流 434

37.1 Stream的作用 435

37.2 读取流 435

37.3 写入流 436

第38章 Node .js中的http模块 437

38.1 HTTP简介 438

38.2 http模块 439

第39章 Node.js实战之静态服务器 444

39.1 非目录文件处理 445

39.2 目录处理 445

39.3 实现静态服务器 446

第40章 Node .js实战之爬虫系统 452

40.1 爬虫系统流程 453

40.2 布隆过滤器 455

40.3 数据存储设计 457

40.4 爬虫主程序 458