网页插件学javascript还是jquery好啊?

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

问这个问题之前,我个人建议先搞清什么是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初学者必须掌握的。

以下图片来自:http://m.oschina.net/blog/175426

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个空白。

然后核心的模块解决了,块与块的问题解决了,就剩下打包发布了,最近业界有这三个东西做这方面的工作。

grunt, gulp,fis

又随着前端代码的越来越复杂,不得不出现了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 ,禁止闲聊,非喜勿进~!

时间: 2024-10-23 03:25:05

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

最新的jQuery插件和JavaScript库

每一个前端开发人员很清楚的重要性和功能的JavaScript库提供.它提供了一个简单的接口,用于构建快速动态的接口,而无需大量的代码. 谢谢你的超级从事jQuery开发者社区,人始终是创造新的和令人惊叹的东西,那里是吨伟大的jQuery插件和JavaScript库在那里,插件和图书馆,涵盖了各种各样的功能. 在这篇文章中我们已经编译列表的JavaScript库为2015年7月,在这篇综述中,我们已经覆盖特征丰富和互动的JavaScript库,为您提供多种功能,能为你建立有效和有用的Web应用提供

怎么学JavaScript?

作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我(老姚,下同)怎么学前端的问题.这里统一回复一下,如下次再遇到问我此问题同学,就直接把本文链接地址发给你了. 首先说句题外话.关于有人管我叫大神的事情.个人感觉这跟你买东西时,人家管你叫帅哥一样,你答应与否都无妨. 正题开始,"前端怎么学"应该因人而异,别人的方法未必适合自己.就说说我的学习

四种常见的提示弹出框(success,warning,error,loading)原生JavaScript和jQuery分别实现

虽然说现在官方的自带插件已经有很多了,但是有时候往往不能满足我们的需求,下面我简单介绍一些 常见的四种提示弹出框(success,loading,error,warning),我分别用原生JavaScript和jQuery来介绍分享给各位博友! 一.首先介绍原生JavaScript来实现四种提示弹出框: 第一步:先看看html的建立 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:

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

技术非常多.样例非常多,仅仅好慢慢学,慢慢实践.!如今学的这本书是[JavaScript实战----JavaScript.jQuery.HTML5.Node.js实例大全] 第 3 章 用 JavaScript 实现的照片展示 构建软件设计的方法有两种:一种是把软件做得非常easy以至于明显找不到缺陷.还有一种是把它 做得非常复杂以至于找不到明显的缺陷. --C.A.R.Hoare,1980 年图灵奖获得者 在这个自拍自恋的时代,照片是要展示的.在前面的章节里已经解说了事件的绑定.本章主要利用前

JavaScript,jQuery基础知识

JavaScript基础:JavaScript是一门可以嵌入html代码中,直接由浏览器即可执行的编程语言. jQuery:jQuery是一个优秀的JavaScript库,可以极大的简化日常中使用JavaScript的复杂度. jQuery UI:jQuery UI是以jQuery为基础的开源JavaScript网页用户界面代码库. jQuery Mobile:jQuery Mobile是jQuery在手机上和平板设备上的版本. 一.客户端(浏览器)JavaScript功能(由网景公司95年创立

JavaScript 和 jQuery $.alert alert $.confirm confirm 的对比

JavaScript 和 jQuery  弹窗对比 javascript 的三种弹框对象隶属于window对象,并且都会阻塞当前事件和脚本,直到用户操作完成才会继续执行后续事件和脚本.不能使用html元素. jQuery(jquery-confirm插件) jQuery的弹出窗口是通过html元素和一些js事件模拟出来的,隶属于document对象,而且不能够阻塞其他的事件和脚本执行. 例: jQuery 脚本 脚本1: var $confirm= $.confirm('是否继续?');  //

开始学javascript基础

JavaScript非常值得我们学习. 1)所有主浏览器都支持JavaScript. 2) 目前,全世界大部分网页都使用JavaScript. 3) 它可以使网页呈现各种动态效果. 4)作为一个Web开发师,如果你想提供漂亮的网页.令用户满意的上网体验 ,JavaScript是必不可少的工具. 基础布局 JavaScript的布局必须放在<html>与</html>的之中可以放头部内容都可以. 属性必须写在<script>与</script>之间,可以提示大

[转]IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取

兼容问题1: 页面的分享等插件加载不全,并无法点击. 兼容问题2: IE下页面选择器(#id..class.etc.)绑定click事件无法访问到,后台springmvc方法,也无法获取ajax的success方法返回值data. 兼容问题3: 在IE和Google下能够获取,ajax的success返回的数据data,但firefox下获取不到. 兼容问题4: 页面跳转,或url进入,js代码不能正确执行,如果按了F12后(开启F12),JavaScript(加载)事件可以正常响应,一切都正常

在C#后端处理一些结果然传给前端Javascript或是jQuery

在C#后端处理一些结果然传给前端Javascript或是jQuery,以前Insus.NET有做过一个例子<把CS值传给JS使用 >http://www.cnblogs.com/insus/archive/2011/05/04/2036271.html 是使用Literal控件来实现. 不过还是有些复杂. 本次Insus.NET再简化一些,把值传给前端的jQuery. 用户请求一个网页,送至服务器之后,然后传给客户端.因此服务端传值给jQuery或是javascript是件很容易的事.反之的话