文章的起因,也是在群内交流是回答一个小伙的问题,一扯就停不下来,但由于个人知识面覆盖有限,自身基础又不够扎实,仅供参考:

问这个问题之前,我个人建议先搞清什么是jquery,什么是js?
 
 
jquery的优点:他是常用的js工具方法的一堆封装,他在一定程度上加快前端开发的速度,会缩短项目开发周期,会减少很多代码。
缺点:因为jquery内部做了很多细节的处理,当然最终目的是为了方便的调用。但是有些初学者误以为,js的本来面貌就是这个样子。用Jquery去描述业务场景,而不是试图用代码逻辑来解决问题。所以很多人就此对jquery造成依赖。很多提问的时候问,这个问题用jquery怎么解决。
为什么他能够像现在如此受欢迎,成为一种事实的标准,是因为他的封装充分考虑了开发者的习惯,在尽可能大的角度来方便开发者调用与二次开发,这是他的一个优点之一。具体体现在,类工厂链式方式的调用,比如:
$().show().animate(),比如set,get的统一参数处理。$().css('width') $().css({ width : 200 });
 
 
而且在早期版本兼容了低版本ie的很多bug,使开发的注意力真正的关注到逻辑与数据上来,而不是成天解决兼容问题。
其它优点不一一等等。
至于如何使用好jquery,jquery提供的方便快捷封装在整个前端开发流程占多大的比例?为什么我们一定要建议先学js,在学习其它框架,这是我们要搞清楚的。
1. 其实如何使用好jquery,取决于原生js的基础,什么是原生js的基础:
比如:js语句后面到底用不用加分号,不用加分号时在哪个地方有坑?
js里边单双引号是否有区别,他的标识名命名规则是怎么样的,为什么prototype与jquery都取$为他的工厂函数标志?如果你将来写一个,还有没有其它符号可用?
js里边保留字,关键字,有哪些?each与普通的for循环有多大的区别,他的好处在哪里,他的坏处在哪里,我们什么时候该用他,什么时候不该用他,等等。
还有高级的,如何实现一个类的继承,如果用jquery方便的继承,什么闭包,闭包的优缺点,什么是事件代理,代理的优缺点。等等
上面的这些知识,在任何一个jquery相关书籍里边提的不多,而这些恰恰是一个js初学者必须掌握的。
 

1.JavaScript数组

2.JavaScript 函数基础

3.Javascript 运算符

4.JavaScript 流程控制

5.JavaScript 正则表达式

6.JavaScript 变量

7.JavaScript 字符串函数

8.DOM 基本操作

2. jquery在整个开发过程中充当了一个方便操作dom的工具方法集合,而前端开发除了操作常用的dom之外,还需要操作页面的交互数据,模块化开发,工程师发布等等。夸张点说:jquery只是前端开发中的一个部分,他没有任何一处能力完全取代原生js。而且我们需要了解的还有很多,具体见下文。
前面从个人的角度介绍了一下什么是jquery,然后什么是js,百度很多,不一一介绍。
3. 只有在学好原生js的基础上,才能很多的学习jquery或其它框架。因为jquery与其它框架出现的初衷就是加快js开发,粗暴的理解,他对常用的js开发函数进行了封装,所以js功底扎实,基本看api及说明就能很快的入手,这也是jquery及其它框架欢迎的根本。
然后个人建议:先学原生js,再学jquery,然后有空学习jquery源码,才能更好的使用jquery。
然后问题来了,除了jquery之外还有什么值得学习的主流js框架?
jquery 主要战场还是在dom操作这块,顺带封装了ajax或其它的常用方法。
其它经典怀旧的几个有空的时候可以了解一下他们的源码,mootools, prototype.是他们启发了js向工程化,团队化,协作化方向发展的转变,
yui虽然听说停止开发了,但他的代码思想与那些yahoo jser付出,努力的结晶是值得我们学习与默拜的。
除了jquery之外,ext是一个巅峰,需要了解一下。他是初期企业级UI框架解决的一个鼻祖,从一定程度上解决了当时企业级应用的复杂界面交互,但是后来由于界面风格的单一化或本身一些性能问题,而被一些开发者弃用。
其它类ext的比如:easyui, lightui, j-ui, 这几个,并没有真正意义上颠覆或超越ext,但在天朝本地化或语言或自身业务模式上有了一定的微创新或发展。
由于随着前端交互或数据的提高,对前端的依赖也是越来越大,这样前端的代码也是越来越多,这样的场景下就需要一个能解决代码块与块之间的调用,多块的代码加载,等等这些问题的框架出现。这时候requirejs,seajs填补了这2个空白。
然后核心的模块解决了,块与块的问题解决了,就剩下打包发布了,最近业界有这三个东西做这方面的工作。
又随着前端代码的越来越复杂,不得不出现了javascript mvc的解决方案:
angularjs, backboneunderscore, 有空的时候了解一下。
移动端的几个需要了解一下,jq mobile, zepto.knockout,swipe,iscroll
还有一些剑走偏峰的作品比如:three.js,d3.js,famo.us,
还有一些国内jser的贡献,团队或个人的都有。比如qwrap, avalon,wind,kissy,还有一个百度的七巧板,腾讯的jx,
还有其它的如vue.js, lightbox, artDialog, mydate97
 
最后:
正是这些好用的不好用的,好玩的不好玩的,构建了这几年来前端五彩缤纷的世界,无论从那一处下手,都能找到好玩的一处。也是正因为如此,所以有很多新人加入这个行业的原因或动力。所以,坚持就是胜利,我为我的选择努力,我为我的努力坚持,我为我的坚持一直在期待。
 

前端开发qq群:159758989 ,禁止闲聊,非喜勿进~!

网页插件学javascript还是jquery好啊?的更多相关文章

  1. Sublime text代码补全插件(支持Javascript、JQuery、Bootstrap框架)

    Sublime text代码补全插件(支持Javascript.JQuery.Bootstrap框架)   插件名称:javascript-API-Completions 支持Javascript.J ...

  2. 最新的jQuery插件和JavaScript库

    每一个前端开发人员很清楚的重要性和功能的JavaScript库提供.它提供了一个简单的接口,用于构建快速动态的接口,而无需大量的代码. 谢谢你的超级从事jQuery开发者社区,人始终是创造新的和令人惊 ...

  3. JQuery制作网页—— 第一章 JavaScript基础

    1. JavaScript(弱类型语言):是一种描述性语言,也是一种基于对象(Object)和事件驱动(Event Driven)的,并具有安全性能的脚本语言. 特点:1.主要用来在HTML页面中添加 ...

  4. 怎么学JavaScript?

    作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我( ...

  5. 统一回复《怎么学JavaScript?》

    作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我( ...

  6. 《零基础学JavaScript(全彩版)》学习笔记

    <零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScrip ...

  7. 【Ajax 4】Ajax、JavaScript和JQuery的联系和区别

    导读:在之前,就分别学习了Ajax.JavaScript和JQuery,然后对于这三者之间的关系,是一直云里雾里的.尤其是后来学到了Ajax,就更是不明白了.现在,就给总结总结. 一.基本概述 1.1 ...

  8. JavaScript、Jquery选择题

    尚学堂Java EE软件工程师认证考试 试题库-选择题     一.    选择题(包括单选和双选) 1.B 在JavaScript中,以下变量命名非法的是(   )(选择一项) A. numb_1 ...

  9. JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记1

    技术很多,例子很多,只好慢慢学,慢慢实践!!现在学的这本书是[JavaScript实战----JavaScript.jQuery.HTML5.Node.js实例大全] 第 3 章 用 JavaScri ...

随机推荐

  1. Java 数组

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...

  2. [hadoop in Action] 第3章 Hadoop组件

    管理HDFS中的文件 分析MapReduce框架中的组件 读写输入输出数据   1.HDFS文件操作   [命令行方式]   Hadoop的文件命令采取的形式为: hadoop fs -cmd < ...

  3. 两个js文件之间函数互调问题

    按照常理来说,在<body>标签结束之前以下面的方式引入两个js文件 <script src="a.js"></script> <scri ...

  4. Apache与Nginx的优缺点比较

    1.nginx相对于apache的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下ngin ...

  5. linux的学习记录随笔

    为什么学习linux 因为操作系统是一种介质,你要接触其中的东西,首先必须要有介质,而linux在服务器端是老大哥的地位,所以呢,学习linux吧. 学习的方式 可以看视频 imooc.百度传课.网易 ...

  6. 5G承载为什么需要三层到边缘

  7. python网络编程-TCP协议中的三次握手和四次挥手(图解)

    建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资 ...

  8. A*算法

    A*在游戏设计中有它很典型的用法,是人工智能在游戏中的代表. A*算法在人工智能中是一种典型的启发式搜索算法,为了说清楚 A*算法,我看还是先说说何谓启发式算法. 一.何谓启发式搜索算法: 在说它之前 ...

  9. win7快捷键

    <1> Top 17 常规快捷键 在开始使用Win7中神奇的快捷键加速我们的电脑操作之前,先给大家介绍几个从Win2000到现在一直通用的"资源管理器"快捷键,权当作热 ...

  10. CSS清除浮动float方法总结

    使用浮动造成的BUG: 使用浮动前:(子节点是将父节点撑开了) 代码如下 <div class="box"> <div class="d1"& ...