想学习javascript JS和jQuery哪个重要 先学哪个

笔者以自己身学习和使用经验分享给大家,有任何问题或疑惑,欢迎留言

在回答题目问题前,首先大家需要了解下什么是js,什么是jQuery

js,即JavaScript
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。

jQuery

jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多)

通过上面的简单介绍,想必大家已经知道了最重要的一点,即:jQuery是一个javascript库;
那么不用笔者强调,大家应该都知道js和jQuery哪个更重要,先学哪个
其实只要学好了javascript,使用jquery将不会有什么问题
依笔者经验,新手程序员必须花时间重点学习一下javascript;
至于jQuery可以直接在使用时参考jQuery参考文档,不需花太多时间在上面,当然如果读者时间充裕,也可以学习下jQuery源码,一边更好的了解jquery实现原理

我们小编小结:

想学习js(javascript),必须学习原生的js 代码,这样才能了解js的精髓之所在。而jquery就是js的库,但是在实际应用中如果大量使用js推荐使用jquery,比较jquery已经对多浏览器的兼容性好,省去了很多麻烦。不用考虑兼容性。如果只会jquery而不会js不利于其它编程语言的学习。

javascript和jquery这两者之间几乎没有可比性。

虽然jquery基于javascript,但是实际上jquery是和javascript完全不同的两种语言,jquery实际上是一种逻辑式语言和纯粹的函数式语言的结合体。由于这两个特性,因此jquery对DOM的操作极度简化。使用jquery往往可用一两行代码实现javascript原生代码几十甚至上百行代码才能实现的功能。

但是jquery是一个特化的框架,它不是一个完整的解决方案,仍然离不开javascript。

如果想要一个基本上不依赖于原生javascript,可以尝试Sencha。

各種封裝,包括jq, dojo等等,主要目的就是爲了省心,拿jq來說:
JQ对不同浏览器的事件,DOM对象,都进行了封装,各种操作都可以直接兼容各种浏览器, 要知道, 不同浏览器的区别不仅仅是在CSS里写"-webkit-"还是"filter"的区别, 连事件模型这种底层的东西都不一样= =
JQ特有的CSS-LIKE选择器, 链式写法, 封装的各类animate函数, 封装了的异步加载, 都大幅提高了开发效率, 减少重复劳动
JQ用delay和一系列的函数封装了AJAX操作, 这个功能目测还在不断改进和完善. 反正是比JS省心就是了.
其他就是有些常用函数JQ有所以不用自己写了,你比如浏览器检测...
插件不断丰富, 资料丰富 等等
当然,这样也导致了
JQ比原生JS慢上 10倍(chrome)~100倍(ie). 具体数忘了, 反正是这个数量级的...尤其是有些人喜欢滥用选择器和不用链式写法
所以说, 如果只用一句JS就可以解决的问题, 就不要用JQ了啊亲...亲测$('#x')比getElementById('x')慢40倍
这是@TooBug兄的实测代码http://fiddle.jshell.net/toobug/mZPXq/
JQ也不见得适用所有情况就是了, 网站规模更大就会凸显JQ的不足. 比如没有命名空间- -. 很多网站是根据自己的情况建立自己的函数库.
题外话, 如果项目相比"一个网页"更偏向"一个APP"的情况, jq 不見得是最合適的

谈性能一般得看你的业务复杂度、开发能力、团队规模,不能一概而论
1.业务复杂度高的项目或网站,开发能力不是很强的团队,采用原生JS都会没有机会让你考虑性能,兼容性就是很大的障碍;
2.业务复杂度低,就Hello world的功能,就无所谓性能;
3.如果团队牛叉、业务复杂的时候,代码可维护性才是最重要的,性能调优只会在真正出现渲染瓶颈的时候才做;
4.性能还得往前看,知道Office为啥成功吧,因为他们一直往前看,电脑的处理能力越来越强了,啥问题都不是问题了。

1、jQ等框架解决易用性和兼容性问题,效率稍低
2、原生js解决运行效率问题,兼容比较麻烦
3、JQ的优势是能让程序员多活好几年,原生js能让程序员水平提高一个档次
其实jquery和原生JS并没有什么很大的区别 jquery底层还是调用原生的JS 只不过jquery的api封装了浏览器的差异性 为开发提供了便捷处理方式
js学好就都搞定了。jquery只是一个js的框架而已,js的框架多着呢。这个只是比较好而已。强烈建议学习js,做项目的时候用jquery就行了。
自己学习的时候 js的优势就是你学到的东西更多一点处理浏览器之间的兼容问题之类的。会给你积累经验。
做项目的时候jquery的有点就是效率高,开发成本降低了N倍。

4、js:简单的东西实现起来很复杂
jquery:复杂的东西实现起来很简单
论性能,jquery差太多了
5、jquery是用js编写的函数库,把我们平时经常用到的效果都封装实现了,再使用时只需要调用即可。需要DIY的话,当然还是要用到JS了。
6、js是基础,jQuery只不过是一种工具而已,基础很重要

http://www.jb51.net/article/28056.htm

就目前看到的,大多数人用jquery无非两个方面,一个dom选择,以及衍生出来的.children,.siblings 等等,再一个就是event事件绑定,其他什么循环,方法声明啊,包括常用到的settimeout不都是原生的吗。

我觉得jquery和原生根本不应该认为是对立关系,一个jquery高手肯定也会用到js类啊,理解原型链啊,理解dom这些东西,所以不应该认为用原生的就是厉害,用jquery就是不行这样的想法。

你html结构复杂,用jquery选择器再方便不过了,设计要求的效果特别苛刻,用jquery的动画和特效再适合不过了,这些都是无可厚非的事情,但是你不可能一点不用到原生js而只用jquery吧,那是不可能的,变量声明都是原生js。

所以面试的时候对面问你原生js用的怎么样的时候你大可自信的说,除了 dom 选择和 eventlisterner不太熟以外,其他都没问题

(0)

相关推荐

  • 想学习javascript JS和jQuery哪个重要 先学哪个

    笔者以自己身学习和使用经验分享给大家,有任何问题或疑惑,欢迎留言 在回答题目问题前,首先大家需要了解下什么是js,什么是jQuery js,即JavaScript 在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成.因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型. jQuery jQu

  • 写给想学习Javascript的朋友一点学习经验小结

    当然只是个人的经验,有什么不对的也请高手见谅和指正. 关于到培训学校学习的忠告:别说现在没有这样的学校,就是有专门的学校也不要去,因为不会有好的老师的.不要浪费你自己(很可能是你父母)的钱和时间.趁早死了这个念头. 关于培训学校的这个我想我要比一般的朋友更有发言权,因为我本人干英语培训将近2年,我很清楚培训市场的情况,你很难碰到一个好的老师.英语可能还好些,毕竟英语说得好的老师还比较多,长期跟老外泡在一起,确实对口语能力的提高很显著,但是代价是很昂贵的.而你现在要学的是Javascript,呵呵

  • 原生js和jQuery实现淡入淡出轮播效果

    本文实例为大家介绍了基于jQuery实现淡入淡出轮播效果的关键代码,分享给大家供大家参考,具体内容如下: 基本原理:将所有图片绝对定位在同一位置,透明度设为0,然后通过jQuery的淡入淡出实现图片的切换效果. html代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>一个轮播&l

  • 说说掌握JavaScript语言的思想前提想学习js的朋友可以看看

    潜意识里也就不会用面向对象的思想去编写JavaScript代码,也很少会去深入了解prototype, closures等概念.这导致书写的代码经常很糟糕. 对于JavaScript的学习,可能最重要的还是要从思想上认识到JavaScript不是玩具语言.JavaScript的作用远不止增加点表单验证,我们可以看看GMail.看看Google Maps,如果开发者们没有对JavaScript足够尊敬,是不大可能写出如此优秀的Web应用的. JavaScript门槛很低,但门槛低并不意味着容易掌握

  • JavaScript之事件委托实例(附原生js和jQuery代码)

    事件委托的原理依赖于事件冒泡,可以通过给父元素的事件委托来确定是哪个子元素触发了事件从而做一系列操作. 使用事件委托的优点 1.操作子元素时不用一一遍历,可以根据事件触发的对象而进行相应操作 dom结构如下: <ul id = "oUl"> <li class = "item"></li> <li class = "item"></li> <li class = "ite

  • 原生javascript 学习之js变量全面了解

    1.变量的命名 方法的命名(驼峰命名法) 全部小写 : 单词与单词之间全部下划线 (my_namespace) 大小写混合 : 第一个单词首字母小写其他单词首字母大写. 规则 首字符 英文字母或下划线 组成   英文字母 数字 下划线 禁忌   JavaScript 关键字 保留字 2. 变量的声明 显示声明   :  var 关键字 陋习         :  没有类型 重复声明 隐式声明 不声明直接赋值 正解        : 先声明 后读写 先赋值 后运算 3. 变量类型 值类型 A) 占

  • 向大师们学习Javascript(视频与PPT)

    Douglas Crockford:Douglas Crockford是JavaScript开发社区最知名的权威,是JSON.JSLint.JSMin和ADSafe之父,是<JavaScript:The Good Parts>(英文版.中文版)的作者.JavaScript的发明人Brendan Eich说他是"Yoda of lambda programming and JavaScript(lambda编程和JavaScript的精神领袖)".他同时也服务于ECMA的Ja

  • 如何学习Javascript入门指导

    谈不上经验,都是一些教训. 这个时候有人要说,"靠,你丫半桶水,凭啥教我们".您先别急着骂,先听我说. 你叫一个大学生去教小学数学,不见得比一个初中生教得好.因为大学生早已经过了那个阶段,都忘记自己怎么走过来的了.而对于初中生,刚好走过那个阶段,对自己怎么走过来的还记忆犹新,或者还有一些自己的总结.比如,很多高手觉得那本犀牛书入门很好,他们觉得太简单了,但以我的经验来看,它不是入门的最好选择. 先说说学js的条件 论条件,咱是文科生,大学专业工商管理,和计算机毛关系都没:有人说英语,读

  • js和jquery分别验证单选框、复选框、下拉框

    本文分别介绍了js和jQuery验证单选框(radio).多选框(checkbox).下拉框(select),分享给大家供大家参考,具体内容如下 (1).首先说单选框(radio),radio和checkbox一样都是name相同值有多个在获取 radio 值的时候我们不能按照普通文本框.value的方式,而是要判断哪个被选中了. js验证是要用getElementsByName()获取数组 js代码如下: <script> function test(){ var sex = documen

  • js、jquery实现列表模糊搜索功能过程解析

    实现的搜索功能: 1. 可以匹配输入的字符串找出列表中匹配的项,列表框的高度跟随搜索出的列表项的多少改变 2. 可以点击某一项进行选中列表项 3. 可以按下上.下.回车键来控制列表项 4. 按下回车键时则会选中列表项 5. 点击文本框中的下拉键头时会切换下拉框的显示/隐藏 6. 点击文本框外部时自动隐藏下拉框 先来预览一下效果吧! 列表中包含的列表项有: 北京.上海.杭州.安庆.大兴安岭.安阳.广州.贵阳.哈尔滨.合肥.邯郸.呼伦贝尔.淮南.黄山.济南.济宁.嘉兴.南昌.南通.南宁.南京 在预览

随机推荐