前端必读书籍推荐
大家好,我是 Echa。
今天来推荐一些值得阅读的前端书籍!想要电子书的老铁们,加关注私信我,回复“前端书”即可。
CSS世界三部曲中的其中两部,都是关于 CSS 的进阶读物,作者结合自己多年的从业经验,讲解CSS基础知识,并充分考虑前端开发者的需求,以CSS新特性的历史背景为线索,去粗取精,注重细节,深入浅出地介绍了上百个CSS新特性。主要目标是帮助前端开发者突破CSS技能提升的瓶颈,非常适合具有一定CSS基础的前端开发者阅读。
本书展示了如何通过布局、过渡和动画、边框、背景、文本属性,以及许多其他工具和技术来改善用户体验、加快开发速度、避免潜在的错误。对 CSS 进行了系统的讲解,适合当工具书来阅读。
本书是一本注重实践的教程,作者为我们揭示了47个鲜为人知的CSS技巧,主要内容包括背景与边框、形状、视觉效果、字体排印、用户体验、结构与布局、过渡与动画等。适合有一定CSS基础的开发者阅读。
本书旨在帮你深度掌握CSS语言,并快速了解CSS的新进展和新特性。书中不仅有讲解透彻的概念介绍,而且还有详细的分步示例,能够帮助你提升CSS开发技能。
前端开发最值得阅读的书籍之一,也就是传说中的红宝书。书中详尽讨论了JavaScript的各个方面,从JavaScript的起源开始,逐步讲解到新出现的技术,其中重点介绍ECMAScript和DOM标准。适合所有阶段的前端开发者阅读。
前端开发最值得阅读的书籍之一,也就是传说中的犀牛书。本书介绍JavaScript语言和由浏览器与Node实现的JavaScript API。本书的目标是全面地讲解JavaScript语言,对JavaScript程序中可能用到的重要的客户端API和服务器端API提供深入的介绍。本书适合有一定编程经验、想学习JavaScript读者,也适合已经在使用JavaScript但希望更深入地理解进而真正掌握这门语言的程序员。
“你不知道的JavaScript”系列就是要让不求甚解的JavaScript开发人迎难而上,深入语言内部,弄清楚JavaScript每一个零部件的用途,轻松理解前端圈里出现的各种技术、框架和流行术语。本书既适合JavaScript语言初学者阅读,又适合经验丰富的前端开发人员深入学习。
本书根据ES2017标准,详尽介绍了所有新增的语法,对基本概念、设计目的和用法进行了清晰的讲解,给出了大量简单易懂的示例。其难度适中,适合那些已经对 JavaScript 有一定了解的读者。
本书对 ES6 的各种新特性进行了系统性的讲解,可以帮助我们加深对ES6的理解,并深入学期其原理。适合对 JavaScript 有一定了解的读者阅读。
本书介绍了如何掌握 JavaScript 核心的概念,诸如函数、闭包、对象、原型和 promise,同时还介绍了 JavaScript API, 包括 DOM、事件和计时器。对 JavaScript 底层进行深入讲解,适合初学者和进阶JavaScript 的开发者阅读。
本书揭示的技术和策略能帮助你在开发过程中消除性能瓶颈。你将会了解如何提升各方面的性能,包括代码的加载、运行、DOM 交互、页面生存周期等。本书介绍了页面代码加载的最佳方法和编程技巧,来帮助你编写更为高效和快速的代码。
本书由 Vue.js 官方团队成员霍春阳倾力打造,基于 Vue 3 深入解析 Vue.js 设计细节,从规范出发,以源码为基础,并结合大量直观的配图,循序渐进地讲解Vue.js中各个功能模块的实现,细致剖析框架设计原理。适合有一定 Vue 开发经验的的开发者阅读。
本书从几个维度去介绍 React。一是作为 View 库,它怎么实现组件化,以及它背后的实现原理。二是扩展到 Flux 应用架构及重要的衍生品 Redux,它们怎么与 React 结合做应用开发。三是对 React 与 server 的碰撞产生的一些思考。四是讲述它在可视化方面的优势与劣势。适合有一定经验的前端开发人员阅读。
从不同的视角介绍了 Node 内在的特点和结构。主要内容包含模块机制的揭示、异步I/O 实现原理的展现、异步编程的探讨、内存控制的介绍、二进制数据Buffer 的细节、Node 中的网络编程基础、Node 中的 Web 开发、进程间的消息传递、Node 测试以及通过Node 构建产品需要的注意事项。
本书系统讲解了使用Express开发动态Web应用的流程和步骤。不仅讲授了开发公共站点及REST API的基础知识,同时还讲解了构建单页、多页及混合Web应用的规划方式及实践。适合所有前端开发人员阅读。
本书讲解了Node.js的基础知识、开发调试方法、源码原理和应用场景,旨在向读者展示如何通过新的Node.js和npm编写出更具前端特色、更具工程化优势的代码。本书还讲解了Node.js中相当核心且复杂的异步流程控制,展望了未来异步流程的发展方向。对于了解 Node.js 在企业中如何应用很有帮助。
本书涵盖了TypeScript的大部分知识点,并对其进行了细致的讲解。本书还对TypeScript编译原理进行了深入的剖析,对高级编程技巧、编译原理进行了深入浅出的解读,适合入门TypeScript的开发者阅读。
本书针对JavaScript语言特性全面介绍了更适合前端程序员的了 16 个常用的设计模式,讲解了JavaScript面向对象和函数式编程方面的基础知识,介绍了面向对象的设计原则及其在设计模式中的体现,还分享了面向对象编程技巧和日常开发中的代码重构。本书将教会你如何把经典的设计模式应用到 JavaScript 中,编写出优美高效、结构化和可维护的代码。
书中清晰揭示了重构的过程,解释了重构的原理和佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了60多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助开发人员一次一小步地修改代码,从而减少了开发过程中的风险。适合有一定前端开发经验的开发者阅读。
本书对 HTTP 协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、全新技术动向等方面。在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。
本书讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,适合初学者阅读。
本书详细解释了HTTP协议,探讨了HTTP有效工作所依赖的所有其他核心因特网技术。本书的本质是理解Web的工作原理,以及如何将这些知识应用到Web编程和管理之中去,主要涵盖HTTP的技术运作方式、产生动机、性能和目标,以及一些相关技术问题。
本书是用JavaScript描述数据结构与算法的开山之作,通过丰富的示例,向读者透彻讲解了在JavaScript环境下,如何通过一系列存储机制(包括链表、栈、队列和图)高效地达到编程目的。学习数据结构与算法可以提高逻辑思维能力和解决问题的能力。
本书采用大量图片,通过详细的分步讲解,以直观、易懂的方式展现了7个数据结构和26个基础算法的基本原理。本书通过大量的步骤图帮助读者加深对数据结构原理和算法执行过程的理解,便于学习和记忆。将本书作为算法入门的第一步,是非常不错的选择。
本书以图配文,以计算机的三大原则为开端、相继介绍了计算机的结构、手工汇编、程序流程、算法、数据结构、面向对象编程、数据库、TCP/IP 网络、数据加密、XML、计算机系统开发以及SE 的相关知识。适合想要扩展计算机基础知识的开发者阅读。
事件——《JS高级程序设计》
一、 事件流
1. 事件流描述的是从页面中接收事件的顺序
2. 事件冒泡(event bubble):事件从开始时由最具体的元素(就是嵌套最深的那个节点)开始,逐级向上传播到较为不具体的节点(就是Document)
3. 事件捕获:不太具体的节点(Document根节点)更早接收到事件,最具体的节点最后接收到事件,刚好与冒泡相反
4. DOM事件流三阶段:
1. 事件捕获阶段:首先发生,为截获事件提供机会
2. 处于目标阶段:事件在此触发
3. 事件冒泡阶段:在这个阶段对事件作出相应
4. 跨浏览器的事件处理函数【可复用,最好手写】:
5. 事件处理程序:响应某个事件的处理函数就是事件处理函数
1. 常用的两个方法:用于处理指定和删除事件处理函数的操作方法:addEventListener/removeEventListener
2. 这两个方法接受3个参数:(事件名,处理函数,[,布尔值])。布尔值默认为false,表示在冒泡阶段调用事件处理函数,true表示在捕获阶段调用事件处理函数
6. 事件对象:在触发DOM的某个事件时,会产生一个事件对象:event,这个对象包含着所有的事件信息
1. currentTarget:绑定事件处理函数的那个目标。在事件处理程序内部,this始终等于currentTarget的值
2. target:事件被触发的那个目标
3. type:事件的类型:是click,还是mouseover……当需要一个函数处理多种事件时可以:
4. 阻止事件的默认行为,使用preventDefault方法,只有cancelable属性为true的事件,才能用此方法阻止
5. stopPropagation:停止事件传播,取消以后事件的捕获和冒泡
6. stopImmediatePropagation 的功能比stopPropagation 多一些,除了可以阻止事件冒泡之外,还可以把这个元素绑定的同类型事件函数也阻止了。
7. 主要的事件类型:
1. UI事件:用户与页面元素交互时触发
1. load事件:页面完全加载后(包括所有图像、js、css等外部资源)触发。图像上也可以触发本事件
2. unload事件:只要用户从一个页面切换到另一个页面(重新加载页面、点击某个离开页面的链接等)就会发生unload事件
3. resize事件:浏览器窗口宽高变动(包括最大化最小化)
4. scroll事件
2. 焦点事件:(最常用的)
1. focus
2. blur
3. 鼠标事件
1. click
2. dbclick
3. mousemove
4. mouseenter
5. …………
6. event.clientX/Y:事件发生时,鼠标指针位置在**客户区**的坐标
7. event.pageX/Y:事件发生时,鼠标指针位置在**页面中**的坐标
8. event。screenX/Y:事件发生时,鼠标指针位置在**整个电脑屏幕**的坐标
4. 滚轮事件
1. mousewheel
5. 文本事件
1. textInput:用户在可编辑区输入字符触发
6. 键盘事件
1. keydown:按下键盘任意键触发,按住不放重复触发
2. keypress:按下键盘字符键触发,按住不放重复触发
3. keyup:释放按键时触发
7. 合成事件:基本无用
8. 变动事件:
9. 设备事件:
1. orientationchange事件
2. devicemotion事件:设备移动
3. 触摸与手势事件
1. touchstart
2. touchmove
3. touchend:手指从屏幕移开时触发
4. gesturestart:一个手指按在屏幕上,另一个手指触摸屏幕时触发
5. gesturechange:
6. gestureend:手指从屏幕上移开
8. 事件代理【重点】:
1. 事件处理函数过多,性能势必下降,解决方法就是事件委托(代理)
2. 事件代理利用了事件冒泡原理,只指定一个事件处理程序,用来管理所有类型的所有事件。比如:可以为整个页面指定一个click事件处理函数,而不用给每个需要单击的元素分别添加事件处理函数
《JAVASCRIPT高级程序设计》第二章
把javascript应用在网页中,需要涉及web的核心语言-html;如何让javascript既能与html共存,又不影响页面的显示效果,经过长时间的讨论、试错,最终的决定是为web增加统一的脚本支持。向html插入javascript最主要的做法,是借助<script>标签。
如果不指定type,type默认是“text/javascript\”
1)在页面嵌入JS代码
2)包含本地的js文件
3)包含外部的js文件
在XHTML中,一些HTML代码不能被正常解析,例如大于小于符号:>,<;解决办法有两个:1是使用HTML实体来替换,例如用<来替换<符号,但是这样导致代码不好理解;2是使用CDATA片段,该片段中的包含的任何内容都不会被解析;但是目前还有不少浏览器不兼容XHTML,因而不支持CDATA片段,所以我们需要使用javascript把CDATA标记注释掉:
是不是颇有几分hack的味道呢?
IE5.5引入了文档模式后,其他浏览器纷纷效仿;目前的文档模式分为以下几种:
早期的浏览器面临着一个问题,即当浏览器不支持javascript时如何平稳退化,这个问题的最终解决方案是设计一个<noscript>元素,里面的内容只有在符合如下任意一个条件的情况下才会显示出来:
- 浏览器不支持脚本
- 浏览器支持脚本,但脚本被禁用
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。