jquery阮一峰,阮一峰的前端日志

学习前端,有什么好书推荐吗?

对于零基础想小白,想要自学成为前端人才,可以看看以下书籍

创新互联专注于缙云企业网站建设,自适应网站建设,商城系统网站开发。缙云网站建设公司,为缙云等地区提供建站服务。全流程定制网站制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

《图解 HTTP》:一本HTTP的神书,图文并茂,生动形象,非常适合小白学习。

《Head First HTML与CSS(第2版)》:入门真的是经典书籍,手把手教学,丰富的案例让你从 0 开始学前端。

《锋利的jQuery》:作为第一本原因是jQuery入门快,你不会因为js的晦涩难懂而止步不前,因为学习jQuery后你可以自己写一些可以即使看到效果的小项目从而提升兴趣。

《Javascript 高级程序设计》:书中涉及的概念基本涵盖了js的大部分内容,包括作用域链、js数据类型、OOP对象在js中的实现、闭包、BOM和DOM模型、对变态IE的系列兼容的解决方案、事件流、还有xml、jason、E4X这些数据格式与js的交互操作简介、高级技巧的介绍(比如惰性载入)等等

《高性能JavaScript》:揭示了技术和策略能帮助你在开发过程中消除性能瓶颈。你将会了解如何提升各方面的性能,包括代码的加载、运行、DOM交互、页面生存周期等。

《JavaScript 设计模式与开发实践》:腾讯前端AlloyTeam团队出品,综合讲述前端的设计模式,设计原则,编程技巧,代码重构等等。

《CSS 世界》:CSS和javascript一样,都是很容易上手,却很难精通的。这本是前端知名博主张鑫旭的书籍,好评很多,讲的很细致。

《CSS 揭秘》:CSS进阶必备书籍,47 个 css 技巧让你在面对各种 css 问题的时候游刃有余。

《深入浅出Node.js》:针对Node的基本原理做了深入,能让你了解底层的Node实现

来自一位react新手的react入门须知

所有的html,css都可以写在js中,这就是jsx的用法。

用于验证数据的类型是否是满足你的需要,不过我在现有的项目中没有特意的指定数据的propTyoe,因为这些都是前后端约定好的。

此用法如下图 :

这个如同vue组件里面的props中的type:Array这个一样

这个与vue-router差不多,大家可以看文档。

react-router的中文官网 : 中文官网

因为react与vue一样,都是使用vitural-dom,没有处理dom节点,从而大大提高了页面的渲染效率。

当你想要获取真实的dom节点的时候,可以使用ref,具体的使用,可以看阮一峰的react入门,我下面的todolist的demo里面也会涉及到。

不过在你使用无状态组件申明组件的时候,ref在这个组件中是不能使用的。

可以通过webpack安装各种依赖,我使用的最爽的一个就是react-hot-loader,就是热更新,非常好用。不过热更新其他的工具,比如 browser-sync ,下面是一些文档。

如vue的vue-cli脚手架, create-react-app ]( ),使用以上方法的话,与vue-cli脚手架工具类似

我自己的一些总结,单单学react是不难的,难的是要和一些工具混合来用,往往这个过程的成本最高。比如使用webpack构建,redux管理状态, redux-thunk 或者 redux-saga 来处理异步action。

还有一个很大的趋势就是前端变化很快,拿 react-router 来说,你做了一个项目, react-router@2.0.0 是能完美跑起来的,但是换成了当换成了 react-router@3.0.0 ,基本上就跑不起来了,更何况现在的 react-router 已经出到4.0,

相应的 webpack 也是这样,当时一些开发者基于 webpack1.0 开发的,当webpack升到2.0的时候, webpack.config,js 里面的文件要重新配置了。现在 webpack 已经更新到了3.0。

2, 阮一峰的文档: react的入门 ,webpack的入门, react-router

3,react的一些框架和一些轮子:

4,一个渐进的学react的demo。

里面基本上涉及到了,react入门的所有涵盖的知识,他都是自己搭的,没有使用脚手架工具。里面也涵盖了webpack的一些配置,对于新手学习蛮好的。

1,jquery、vue、react的todolist,最简单的

2,基于ant-dedign的一个react简单的demo

3,基于react写的一个简易大众点评的demo,里面用到了redux,mock,fetch,es6

async/await 来处理异步/同步

前面比较啰嗦,希望读者耐心看完。

async/await可以说是一个老生常谈,但是每一个前端工程师却又避不开的话题。

在JQuery一把梭的时代,如果遇到下面类似的需求,你要怎么做?

需求:拿到第一个ajax请求省,拿到省数据请求第二个ajax来获得市的数据,拿到市的数据再请求第三个ajax来获得区的数据。

最常见的写法莫过于两种:

1、回调地狱式写法:

简直令人发疯。

或者是这样?同步请求

我靠,只要一个数据请求不回来页面就完犊子了。这简直是噩梦。

别笑,我相信身为前端工程师一定这么写过。

直到有一天,你发现vue里没有Jquery,只有基于promise写的axios.

一开始在使用axios的时候,还是脱离不了必须同步请求的变成思想,于是在vue项目中引入了jquery,把项目搞成了四不像。

研究了好久,终于发现了async/await

async 词面翻译 “异步”。 async关键字一般放到function的前面,用来表示一个异步函数。如下

根据阮一峰es6教程关于async部分的介绍,能得知async会返回一个Promise对象。所以我们可以通过then来调用。

如果不太明白,那我这么写你一定会明白:

词面意思“等待”,它只会在async函数体内出现,代表执行到这里的时候,等一下。它后面可以跟任何表达式,不过一般会跟一个Promise,可以实现异步函数同步调用的效果。

delay是异步函数,在正常情况下,如果这样写:

会先输出2,然后1秒后再输出1.

但是在await的影响下,函数会先等待5秒后输出a,在等待4秒后输出b。

话题再转回到我们一开始说的ajax,使用async/await的方法来写,是不是感觉优雅多了?

在vue中,我们会使用axios来与后台做数据交互,axios没有同步请求,只有异步请求,所以我们可以使用async/await来模拟一个同步请求,实现功能。

学习前端有什么书推荐?

一、《web前端开发最佳实践》

这本书是前端开发领域的经典之作,是一本扎实前端基本功,规范我们前端代码的实践性书籍。本书主要讲解了HTML、CSS、JavaScript以及移动端开发的最佳实践方案,能对缺乏良好知道的开发者产生很大的帮助。通过阅读本书我们可以掌握如何编写高可读性、高维护性、高性能的HTML、CSS以及JavaScript。

二、《CSS那些事儿》

《CSS那些事儿是2009年电子工业出版社出版的图书,作者是林小志。该书通过对CSS技巧实例进行讲解,深入地分析了CSS相关知识。

通过页面中的文字、图片、表格、表单等常见元素的处理及各种页面布局方式的使用,使读者能深入了解如何在页面中更好地运用CSS布局。尤其是在页面布局的部分中,全面分析了多重布局方式,着重分解了两列等高和三列等高的几种方式,并相应说明了等高布局的优缺点。

三、《CSS权威指南》

内容介绍:《CSS权威指南》通过诸多示例,详细讲解了如何做到仅在一处建立样式表就能创建或修改整个网站的外观,以及如何得到html力不能及的更丰富的表现效果。同时展示了如何遵循css最新规范(css2和css2.1)将层叠样式表的方方面面应用于实践。

四、《JavaScript 标准参考教程》阮一峰

内容介绍:阮一峰 本书全面介绍 JavaScript 核心语法,从最简单的开始讲起,循序渐进、由浅入深,力求清晰易懂。所有章节都带有大量的代码实例,便于理解和模仿,可以用到实际项目中,即学即用。 本书适合初学者当作JavaScript语言的入门教程,也适合当作日常使用的参考手册。

五、JavaScript高级程序设计第三版

内容介绍:《全书从JavaScript 语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深入浅出地探讨了面向对象编程、Ajax 与Comet 服务器端通信,HTML5 表单、媒体、Canvas(包括WebGL)及Web Workers、地理定位、跨文档传递消息、客户端存储(包括IndexedDB)等新API,还介绍了离线应用和与维护、性能、部署相关的最佳开发实践。

六、锋利的jquery

内容介绍:《锋利的jQuery(第2版)》循序渐进地对jQuery的各种函数和方法调用进行了介绍,读者可以系统地掌握jQuery的选择器、DOM操作、事件和动画、AJAX应用、插件、jQuery Mobile、jQuery各个版本变化、jQuery性能优化和技巧等知识点,并结合每个章节后面的案例演示进行练习,达到掌握核心知识点的目的。

七、HTTP权威指南

内容介绍:《HTTP权威指南》由古尔利所著,《HTTP权威指南》详细解释了如何用HTTP来开发基于Web的应用程序,核心的[因特网协议,如何与架构构建块交互,如何正确实现因特网客户和服务器等。

《HTTP权威指南》的中心内容是HTTP,本质是理解Web的工作原理,以及如何将这些知识应用到Web编程和管理之中,主要涵盖HTTP的技术运作方式、产生动机、性能和目标以及一些相关技术问题。 《HTTP权威指南》适合所有想了解HTTP和Web底层结构的人阅读。

八、高性能网站建设指南

内容介绍:《高性能网站建设指南》结合Web2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、技术技巧和最佳实践。重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。

jQuery 的功能

该博客基于阮一峰前辈在2011年所做的分享(原链接: )

jQuery的核心就是:可以选择某个网页元素,然后对其进行某种操作

我们可知jQuery是一个构造函数,那么我们就可以通过选择表达式,把选中的元素,放进jQuery构造函数($)当中,从而得到选中的元素。

而选择表达式可以是CSS选择器:

也可以是jQuery特有的表达式:

在jQuery当中最终选中网页元素以后,可以对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来,比如:

拆解开来,就是:

这是jQuery最令人称道、最方便的特点。它的原理在于每一步的jQuery操作所返回的都是一个jQuery对象,所以不同操作可以连在一起。

jQuery还提供了.end()方法,使得结果集可以后退一步:

创建新元素的方法非常简单,只要把新元素直接传入jQuery的构造函数就行了:

操作元素在网页中的位置移动有两种方法:

(1)直接移动该元素;

(2)移动其他元素,使得目标元素达到我们想要的位置。

(1)方法是使用.insertAfter(),把div元素移动p元素后面:

(2)方法是使用.after(),把p元素加到div元素前面:

表面上看,这两种方法的效果是一样的,唯一的不同似乎只是操作视角的不同。但是实际上,它们有一个重大差别,那就是返回的元素不一样。第一种方法返回div元素,第二种方法返回p元素。你可以根据需要,选择到底使用哪一种方法。

使用这种模式的操作方法,一共有四对:

text(?) //读写文本内容

用于返回内容时,则返回所有匹配元素的文本内容(会删除 HTML 标记)。

用于设置内容时,则重写所有匹配元素的内容。

html(?) //读写HTML内容

设置或返回被选元素的 innerHTML(文本 + HTML 标记)

attr('title',?) // 读写属性

设置或返回被选元素的属性值。

css({color:'red'}) //读写style

设置或返回被选元素的一个或多个样式属性。

addClass('blue')

向被选元素添加一个或多个类。

该方法不会移除已存在的 class 属性,仅仅添加一个或多个 class 属性。

on('click',fn)

支持动态绑定元素,即页面上元素有添加或变化后仍可绑定,前提是selector须是目标绑定元素的父元素

off('click',fn)

用于移除通过 on()方法添加的事件处理程序


网站栏目:jquery阮一峰,阮一峰的前端日志
转载来于:http://myzitong.com/article/phiehj.html