本书从现代前端开发的标准、趋势和常用工具入手,由此引出了优秀的构建工具 webpack 和 JavaScript库 React,之后用一系列的实例来阐述两者的特色、概念和基本使用方法。随着应用复杂度的增加,进而介绍了 Flux 和 Redux 两种架构思想,并且使用 Redux 对现有程序进行改造,最后介绍了在开发过程中出现的反模式和性能优化方法。
本书适合有一定前端开发尤其是 JavaScript 基础的读者阅读,如果您还没有接触过前端开发这个领域,请先阅读前端开发的入 门书籍。
前端开发现在在经历急速发展的阶段。随着应用场景越来越广,需求越来越复杂,社区和官方也在不断地将其规范化和工程化。在本章中,会给读者介绍目前前端开发的发展现状和一些优秀的工具。如果你还在使用比较古老的开发方式,那么不妨跟随步伐,了解一下现阶段的发展。
本章会从 3 个方面介绍现代的前端开发技术,作为了解 React 和 webpack 的背景知识。
● ES6——新一代的 JavaScript 语言标准。
● Component 组件和模块的发展历程。
● 前端开发的常用工具∶
— 包管理器(Package Manager),用来下载和管理前端代码库。— 任务流工具(Task Runner),用来执行一系列开发中的任务。— 模块打包工具(Bundler),用来转换和合并前端代码的模式。
1.1 ES6——新一代的 JavaScript 标准
JavaScript 这门脚本语言一直被人诟病(所以薄薄的一本《JavaScript 语言精粹》让很多读者奉为圣经),再加上浏览器兼容性的问题,令很多前端开发者感到特别苦恼。如今前端开发发展又如此迅速,这促使了 ECMA 组委会在修订 JavaScript 语言新版本时, 不仅在质量上不断加以完善,同时加快了更新的速度。
ES6(或者被称为 ES2015)被称为 JavaScript 历史上最重大的一次变革,该标准最终敲定于2015 年6月,提供了非常多语言级别新的特性。这是一个可以载入前端发展史册的重大事件。本书全面使用了ES6 标准,在这里会简单描述一些在本书中使用的 ES6 的特性,给读者一个关于最新标准的直观概念。如果想了解更多变化和特性,建议阅读阮一峰老师编写的《ECMAScript 6 入门》。
1.1.1 语言特性
1. const、let 关键字
众所周知,在 JavaScript 中,变量默认是全局性的,只存在函数级作用域,声明函数曾经是创造作用域的唯一方法。这点和其他编程语言存在差异,其他语言大多数都存在块级作用域。所以在 ES6 中,新提出的 let 关键字使这个缺陷得到了修复。
if (true) ( let a = 'name';' ) console.log(name); // ReferenceError: a is not defined
同时还引入的概念是 const,用来定义一个常量,一旦定义以后不可以修改,不过如果是引用类型的,那么可以改变它的属性。
const MYNAME ='viking'; MYNAME ='kitty'; // "CONSTANTr" is read-only const MYNAME = {foo: 'viking'}; MYNAME. foo ='kitty'; //可以正常运行
2.函数● 箭头函数
箭头函数是一种更简单的函数声明方式,可以把它看作是一种语法糖,箭头函数永远是匿名的。
let add = (a,b) =>(return a + b;) //当后面是表达式(expression)的时候,还可以简写成 let add = (a,b) => a + b; //等同于 let add = function(a,b) { return a + b; //在回调函数中应用 let numbers = [1,2,3]; let doubleNumbers= numbers.map((number)=> number * 2); console.log (doubleNumbers); //【2,4,6】
看起来很简便吧● this 在箭头函数中的使用在工作中经常会遇到这样的问题,就是 this 在一个对象方法中嵌套函数。
let age = 2; let kitty = { age: 1, grow: function() { setTimeout (function (){ console.1og(++this.age); },100); } }; kitty.grow (); //3
在对象方法的嵌套函数中,this 会指向 global 对象,这被看作是 JavaScript在设计上的一个重大缺陷,一般都会采用一些 hack 来解决它,如下。
let kitty = { age: 1, grow: function(){ const self = this; setTimeout (function () ( console.log(++self.age); } 100}; }
【下载地址】
链接:https://pan.baidu.com/s/1n6L2lFyW1jTqCx3yLTt6Xw
提取码:6gtu
相关文章
希望读者把阅读这本书的过程当做一个旅程,由浅入深地了解 React 和 Redux,如果你对 React 和 Redux 技术已经有一些了解
本书从几个维度介绍了React。一是作为 View 库,它怎么实现组件化,以及它背后的实现原理。二是扩展到 Flux 应用架构及重要的衍生品
本书旨在解决前端开发者的烦恼,使他们的生活更有意义、更加快乐,并通过介绍 React帮助他们赚到更多的钱——这些会以一种快速的方式进行。本书
ReactJS 是 Facebook 推出的 JavaScript 函数库,若以 MVC 框架来看,React 定位是在 View 的范畴。
本书以 React 技术栈为核心,在介绍 React 用法的基础上,从源码层面分析了Redux 思想,同时着重介绍了服务端渲染和同构应用的架
React 的核心思想是∶ 封装组件。
本书共分四部分,全面介绍如何使用 React与 Redux进行Web 开发。
本书是专门为希望学习React脚本库,同时也希望学习当前JavaScript语言最新特性的开发人员而编写的。
通过介绍 React 中最有价值的设计模式,展示如何将设计模式和最佳实践应用于现实的新项目和已有项目中
本书从现代前端开发的标准、趋势和常用工具入手,由此引出了优秀的构建工具 webpack 和 JavaScript库 React,之后用一系列
本书是 React 入门书。前 3章介绍如何从空白的 HTML页面开始构建应用。第4章介绍 JSX语法。从第5章开始,你会学习到在实际开发中
React 是由 Facebook 创建的一个开源项目。它提供了一种在 JavaScript 中构建用户界面的全新方式。自从它公开发布后,这
React Router 是完整的 React 路由解决⽅案 React Router 保持 UI 与 URL 同步。它拥有简单的 API
本书以实战为主旨,通过完整的电商类 App 项目实例,来介绍 React Native 中常用的组件、API、布局、第三方组件和原生接口,让
Native 有更好的人机交互体验:1. 更丰富细腻的动画效果 2. 更精准的手势识别 3. 原生控件有更好的体验 ;4. 更合适的线程模型
FlashFXP绿色版网盘下载,附激活教程 1839
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1607
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1652
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1737
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1858
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64