• Web开发权威指南
21年品牌 40万+商家 超1.5亿件商品

Web开发权威指南

21.4 2.2折 99 九品

仅1件

天津宝坻
认证卖家担保交易快速发货售后保障

作者[美]克里斯·阿基诺;托德·甘迪(Chris Aquino, Todd Gandee)

出版社人民邮电出版社

出版时间2017-09

版次1

装帧平装

货号969488220096036866

上书时间2024-09-16

转转超品的书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 [美]克里斯·阿基诺;托德·甘迪(Chris Aquino, Todd Gandee)
  • 出版社 人民邮电出版社
  • 出版时间 2017-09
  • 版次 1
  • ISBN 9787115466167
  • 定价 99.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 414页
【内容简介】
本书在知名培训机构Big Nerd Ranch培训教材的基础上编写而成,囊括了JavaScript、HTML5、CSS3等现代前端开发人员急需的技术关键点,包括响应式UI,访问远程Web服务,用Ember.js构建应用,等等。此外,还会介绍如何使用前沿开发工具来调试和测试代码,并且充分利用Node.js和各种开源的npm模块的强大功能来进行开发。
  全书分四部分,每部分独立完成一个项目,由浅入深、循序渐进,在构建一系列应用的过程中,介绍Web开发的核心概念和API。
  无论是否拥有Web开发经验,抑或拥有其他平台的开发背景,只要对当今流行的工具和开发实践充满兴趣,这本书都能让你受益匪浅。
【作者简介】
Chris Aquino,Web开发专家,Big Nerd Ranch讲师。作为开发者,他希望能给用户提供有意义的数据体验;作为主管和讲师,他致力于帮助他的团队和学生构建出更好的Web。平时喜欢发条玩具、浓缩咖啡和格式烧烤 

Todd Gandee,前端工程师,Big Nerd Ranch讲师。拥有十余年的Web顾问经验,专业技能娴熟。业余时间喜欢跑步、骑行以及攀岩。
【目录】
第一部分 浏览器编程基础 

第1章 配置开发环境  2 

1.1 安装Google Chrome  2 

1.2 安装并配置Atom  3 

1.3 文档和参考资料  6 

1.4 命令行速成  8 

1.4.1 查看当前工作目录  9 

1.4.2 新建目录  10 

1.4.3 切换目录  10 

1.4.4 列出目录中的文件  11 

1.4.5 获取管理员权限  12 

1.4.6 退出程序  13 

1.5 安装Node.js和browser-sync  14 

1.6 延展阅读:Atom 的替代工具  15 

第2章 开始第一个项目  17 

2.1 搭建Ottergram  18 

2.1.1 开始写HTML  19 

2.1.2 链接到样式表  22 

2.1.3 添加内容  22 

2.1.4 添加图片  23 

2.2 浏览网页  25 

2.3 Chrome开发者工具  27 

2.4 延展阅读:CSS 版本  29 

2.5 延展阅读:favicon.ico  29 

2.6 中级挑战:添加favicon.ico  30 

第3章 样式  31 

3.1 创建基本样式  32 

3.2 为HTML文件添加样式  33 

3.3 样式的构成  34 

3.4 第一条样式规则  35 

3.5 样式继承  38 

3.6 图片自适应  45 

3.7 颜色  47 

3.8 调整空白  49 

3.9 添加字体  53 

3.10 初级挑战:更改颜色  56 

3.11 延展阅读:优先级!当选择器发生冲突了……  56 

第4章 flexbox响应式布局  58 

4.1 界面拓展  59 

4.1.1 添加大图  59 

4.1.2 缩略图水平布局  61 

4.2 flexbox  63 

4.2.1 创建flex容器  64 

4.2.2 改变flex-direction  65 

4.2.3 flex项目中的元素分组  66 

4.2.4 flex缩写属性  68 

4.2.5 flex项目的排序与对齐方式  69 

4.2.6 居中显示大图  73 

4.3 绝对定位与相对定位  75 

第5章 使用媒体查询完成自适应布局  82 

5.1 重置视口  83 

5.2 添加媒体查询  85 

5.3 初级挑战:屏幕方向  89 

5.4 延展阅读:flexbox布局通用解决方案与bug  89 

5.5 高级挑战:圣杯布局  89 

第6章 JavaScript事件处理  90 

6.1 准备锚标签  91 

6.2 第一个脚本  94 

6.3 Ottergram中的JavaScript 描述  95 

6.4 声明字符串变量  96 

6.5 操作控制台  97 

6.6 访问DOM元素  99 

6.7 编写setDetails函数  104 

6.8 从函数返回值  108 

6.9 添加事件监听器  110 

6.10 访问所有缩略图  115 

6.11 迭代缩略图数组  117 

6.12 中级挑战:劫持链接  118 

6.13 高级挑战:随机的水獭  119 

6.14 延展阅读:严格模式  119 

6.15 延展阅读:闭包  119 

6.16 延展阅读:NodeList对象和HTMLCollection 对象  120 

6.17 延展阅读:JavaScript类型  122 

第7章 使用CSS营造视觉效果  123 

7.1 隐藏及显示大图  123 

7.1.1 创建隐藏大图的样式  125 

7.1.2 用JavaScript 隐藏大图  127 

7.1.3 监听键盘事件  128 

7.1.4 重新显示大图  131 

7.2 使用CSS过渡改变状态  132 

7.2.1 变形  133 

7.2.2 添加CSS过渡效果  135 

7.2.3 使用定时函数  138 

7.2.4 基于类的过渡效果  139 

7.2.5 通过JavaScript触发过渡效果  140 

7.3 自定义定时函数  141 

7.4 延展阅读:强制类型转换的规则  143 

第二部分 模块、对象及表单 

第8章 模块、对象和方法  146 

8.1 模块  146 

8.1.1 模块模式  147 

8.1.2 通过IIFE修改对象  149 

8.2 搭建我们的CoffeeRun吧  151 

8.3 创建数据存储模块  152 

8.4 在命名空间上添加一个模块  153 

8.5 构造函数  154 

8.5.1 构造函数的原型  155 

8.5.2 为构造函数添加方法  157 

8.6 创建Truck模块  159 

8.6.1 添加订单  160 

8.6.2 删除订单  161 

8.7 调试  163 

8.7.1 使用开发者工具定位bug  165 

8.7.2 使用bind 设置this  169 

8.8 在页面加载时初始化CoffeeRun  170 

8.9 初级挑战:使用非星迷熟悉的餐车ID  173 

8.10 延展阅读:模块私有数据  173 

8.11 中级挑战:私有化数据  174 

8.12 延展阅读:在forEach的回调函数中设置this  174 

第9章 Bootstrap简介  175 

9.1 添加Bootstrap  175 

9.2 创建订单表单  177 

9.2.1 添加文本输入字段  178 

9.2.2 提供单选按钮  182 

9.2.3 添加下拉菜单  183 

9.2.4 添加范围滑块  185 

9.2.5 添加提交按钮和重置按钮  185 

第10章 使用JavaScript 处理表单  187 

10.1 创建FormHandler 模块  188 

10.1.1 jQuery简介  189 

10.1.2 导入jQuery  189 

10.1.3 使用selector参数配置FormHandler 实例  190 

10.2 添加提交处理程序  192 

10.2.1 提取数据  193 

10.2.2 接受并调用回调函数  195 

10.3 使用FormHandler  196 

10.4 UI 优化  198 

10.5 初级挑战:添加超级尺寸  199 

10.6 中级挑战:当滑块滑动时显示其数值  199 

10.7 高级挑战:添加选择  200 

第11章 从数据到DOM  201 

11.1 建立清单  202 

11.2 创建CheckList模块  203 

11.3 创建行构造函数  204 

11.4 在提交时创建清单行  209 

11.5 通过单击行完成订单  212 

11.5.1 创建CheckList.prototype.removeRow方法  213 

11.5.2 删除被覆盖的条目  213 

11.5.3 编写addClickHandler方法  214 

11.5.4 调用addClickHandler  216 

11.6 初级挑战:在描述中加入浓度信息  217 

11.7 中级挑战:不同口味,不同颜色  217 

11.8 高级挑战:允许编辑订单  217 

第12章 表单校验  218 

12.1 required属性  218 

12.2 使用正则表达式校验表单  220 

12.3 约束校验API  220 

12.3.1 监听input事件  222 

12.3.2 将input事件和有效性校验绑定  223 

12.3.3 触发有效性检查  224 

12.4 美化有效元素和无效元素  225 

12.5 中级挑战:为脱咖啡因咖啡进行自定义校验  227 

12.6 延展阅读:Webshim 库  227 

第13章 Ajax  229 

13.1 XMLHttpRequest对象  230 

13.2 RESTful Web服务  230 

13.3 RemoteDataStore模块  231 

13.4 向服务器发送数据  232 

13.4.1 使用jQuery的$.post 方法  233 

13.4.2 添加回调函数  233 

13.4.3 检查Ajax的请求和响应  234 

13.5 从服务器检索数据  237 

13.5.1 查看响应数据  237 

13.5.2 添加回调函数  238 

13.6 从服务器删除数据  240 

13.7 用RemoteDataStore替换DataStore  241 

13.8 中级挑战:校验远端服务器  243 

13.9 延展阅读:Postman  243 

第14章 Deferred和Promise  244 

14.1 Promise和Deferred  245 

14.2 返回Deferred  246 

14.3 通过then注册回调函数  247 

14.4 使用then处理失败的情况  248 

14.5 在仅支持回调函数的API上使用Deferred  250 

14.6 为DataStore配置Promise  254 

14.6.1 创建并返回Promise  255 

14.6.2 resolve一个Promise  256 

14.6.3 将其他DataStore方法Promise 化  256 

14.7 中级挑战:回退到Datastore  259 

第三部分 实时数据传输 

第15章 Node.js入门  262 

15.1 Node和npm  263 

15.1.1 npm init  264 

15.1.2 npm脚本  265 

15.2 Hello, World  265 

15.3 添加一个npm脚本  267 

15.4 用文件提供服务  268 

15.4.1 用fs 模块读取文件  269 

15.4.2 处理请求URL  269 

15.4.3 使用path模块  271 

15.4.4 创建自定义模块  272 

15.4.5 使用自定义模块  272 

15.5 错误处理  273 

15.6 延展阅读:npm模块注册  274 

15.7 初级挑战:创建自定义错误页面  275 

15.8 延展阅读:MIME类型  275 

15.9 中级挑战:动态提供MIME类型  276 

15.10 高级挑战:将错误处理放到单独的模块中  276 

第16章 使用WebSocket进行实时通信  277 

16.1 配置WebSocket  278 

16.2 测试WebSocket服务器  280 

16.3 创建聊天服务器的功能  281 

16.4 第一次聊天!  283 

16.5 延展阅读:WebSocket库socket.io  283 

16.6 延展阅读:WebSocket服务  284 

16.7 初级挑战:我重复了我的消息吗?  284 

16.8 中级挑战:Speakeasy  284 

16.9 高级挑战:聊天机器人  284 

第17章 借助Babel使用ES6  285 

17.1 编译JavaScript的工具  286 

17.2 Chattrbox客户端应用程序  288 

17.3 迈出Babel的第一步  289 

17.4 使用Browserify 打包模块  291 

17.5 新增ChatMessage 类  294 

17.6 创建ws-client 模块  297 

17.6.1 处理连接  298 

17.6.2 处理事件并发送消息  299 

17.6.3 发出和回应一条消息  301 

17.7 延展阅读:将其他语言编译成JavaScript  302 

17.8 初级挑战:默认导入名称  303 

17.9 中级挑战:提醒连接关闭  303 

17.10 延展阅读:变量提升  303 

17.11 延展阅读:箭头函数  305 

第18章 继续ES6 探索之旅  306 

18.1 将jQuery 安装成一个Node 模块  307 

18.2 创建ChatForm 类  307 

18.3 创建ChatList 类  310 

18.8 初级挑战:给消息添加特效  320 

18.9 中级挑战:缓存消息  320 

18.10 高级挑战:独立的聊天室  321 

第四部分 应用架构 

第19章 初识MVC和Ember  324 

19.1 Tracker  325 

19.2 Ember:一款MVC 框架  326 

19.2.1 安装Ember  327 

19.2.2 创建Ember应用  328 

19.2.3 启动服务器  329 

19.3 安装外部库和插件  330 

19.4 修改配置  332 

19.5 延展阅读:npm和Bower 的安装命令  335 

19.6 初级挑战:限制引入  336 

19.7 中级挑战:添加Font Awesome 库  336 

19.8 高级挑战:自定义NavBar  336 

第20章 路由选择、路由表、模型  337 

20.1 Ember生成器  338 

20.2 嵌套路由  342 

20.3 Ember Inspector  344 

20.4 指派模型  344 

20.5 beforeModel  347 

20.6 延展阅读:setupController和afterModel  347 

第21章 模型和数据绑定  349 

21.1 定义模型  349 

21.2 创建记录  351 

21.3 get和set  353 

21.4 计算属性  354 

21.5 延展阅读:检索数据  357 

21.6 延展阅读:保存或删除数据  358 

21.7 初级挑战:修改计算属性  358 

21.8 中级挑战:对新的目击记录进行标记  358 

21.9 高级挑战:添加称呼  359 

18.4 使用Gravatar  312 

18.5 请求用户名  314 

18.6 使用会话存储  316 

18.7 格式化和更新消息时间戳  318 

第22章 数据——适配器、序列化器和变换器  360 

22.1 适配器  362 

22.2 内容安全策略  365 

22.3 序列化器  366 

22.4 变换器  368 

22.5 延展阅读:Ember CLI Mirage  368 

22.6 中级挑战:内容安全  369 

22.7 高级挑战:Mirage  369 

第23章 视图与模板  370 

23.1 Handlebars  371 

23.2 模型  371 

23.3 辅助方法  371 

23.3.1 条件语句  372 

23.3.2 {{#each}}循环  373 

23.3.3 元素属性赋值  375 

23.3.4 链接  377 

23.4 自定义辅助方法  380 

23.5 初级挑战:为链接添加鼠标悬浮的内容  382 

23.6 中级挑战:修改日期格式  383 

23.7 高级挑战:创建一个自定义缩略图辅助方法  383 

第24章 控制器  384 

24.1 新建目击记录  385 

24.2 编辑目击记录  392 

24.3 删除目击记录  395 

24.4 路由动作  396 

24.5 初级挑战:目击记录详情页  398 

24.6 中级挑战:目击日期  398 

24.7 高级挑战:添加和删除目击者  398 

第25章 组件  399 

25.1 迭代器组件  399 

25.2 “拧干”组件的“水分”  403 

25.3 数据向下,动作向上  404 

25.4 类名绑定  405 

25.5 数据向下  406 

25.6 动作向上  409 

25.7 初级挑战:自定义提示信息  411 

25.8 中级挑战:将导航条转化为组件  411 

25.9 高级挑战:提示框数组  412 

第26章 后记  413 

26.1 最后的挑战  413 

26.2 插播一个广告  413 

26.3 感谢你  414
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP