大家学习js的话 大概要多久

想学习javascript JS和jQuery哪个重要 先学哪个
投稿:mdxy-dxy
字体:[ ] 类型:转载 时间:
在一些技术论坛与qq群经常看到有这样类似的提问,当然提出这样问题的通常都是新手为了解决大家的疑惑,同时帮助新手程序员能更快掌握学习的方向,不致于弄错重点
笔者以自己身学习和使用经验分享给大家,有任何问题或疑惑,欢迎留言
在回答题目问题前,首先大家需要了解下什么是js,什么是jQuery
js,即JavaScript
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
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兄的实测代码
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只不过是一种工具而已,基础很重要
就目前看到的,大多数人用jquery无非两个方面,一个dom选择,以及衍生出来的.children,.siblings 等等,再一个就是event事件绑定,其他什么循环,方法声明啊,包括常用到的settimeout不都是原生的吗。
我觉得jquery和原生根本不应该认为是对立关系,一个jquery高手肯定也会用到js类啊,理解原型链啊,理解dom这些东西,所以不应该认为用原生的就是厉害,用jquery就是不行这样的想法。
你html结构复杂,用jquery选择器再方便不过了,设计要求的效果特别苛刻,用jquery的动画和特效再适合不过了,这些都是无可厚非的事情,但是你不可能一点不用到原生js而只用jquery吧,那是不可能的,变量声明都是原生js。
所以面试的时候对面问你原生js用的怎么样的时候你大可自信的说,除了 dom 选择和 eventlisterner不太熟以外,其他都没问题
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具每个程序员都需要学习JavaScript的7个理由
最近在和招聘经理交流现在找一个好的程序员有多难的时候,我渐渐意识到了现在编程语言越来越倾重于Java。Web开发人员尤其如此。所以,如果你是一个程序员,那么你应该去学习Java。
我之所以这样说的主要原因是,随着Java的日渐成熟,以及Node.js方案变得越来越可行,我们对Java程序员的需求正在持续增长。Java在需求比例上已经超过了C#,仅屈居于Java之下。如果你看看GitHub上可行的项目,你会发现Java出现得越来越多,甚至领先于Java和C#。最后,再看看StackOverflow,你会发现Java也处于顶层活跃中。
更好的薪酬
根据SitePoint,Java的薪资要高于C#。当然,虽然现在Java的薪水还是比Java高上那么一点。但随着Java需求的增长,你可以预见它的薪酬肯定会提高。
在Gooroo,关于薪酬VS需求呈现的画面略有不同。虽然我们对Java的需求是显而易见的,但是很明显,几种需求较小的语言反而薪酬更高。我怀疑这是因为许多公司仍然认为Java是任何一个程序员都会用的语言。但是,当他们认识到“任何一个程序员都会Java”,实际上是“任何一个程序员只会写蹩脚的Java代码”的时候,也是他们经历惨痛教训的时候。然后需要真正的Java程序员进入清理留下的烂摊子。
在StackOverflow,我们看到了一份非常详细的关于开发人员在过去三年时间中的归类。当你最后看到“使用的技术”部分的时候,我们发现,如果你称自己为Java程序员(这里假设是在客户端),那么你得到的报酬虽然比C#程序员低,但会比Java程序员要好,但如果你说自己是一个Node.js程序员(全Java),那么你能拿到第二高的工资。唯一比Node.js还高的是Objective-C(我假设以后会是,Swift)。
Java正日趋成熟
新的Java标准每年都会发布,而且现在很明显,被添加到Java的语法糖(SyntacticSugar)的数量每年都在增加。其中一个我期待的功能是,能在我的Java代码中使用异步和await关键字,以消除回调地狱(callbackhell)。
你越早开始学习Java,那么学习起来就越容易。所有的改变都是循序渐进的,就像浏览器正在不断地改进处理Java代码的能力。可以预见在不久的将来,浏览器不仅可以缓存Java文件,还可以缓存Java文件的编译版本。
Java程序员更能被委以重任
大概在一年前我和我的一个老朋友聊天的时候,他提到,他是他们小组(约20个程序员)唯一一个用这样的方式写Java以消除变量对全局范围的污染的程序员。这只是最简单的例子。很多人称自己为Java程序员,却不知道这些基本知识。所以,Java大有可为。
而且不要忘了,现在很多支持性能分析和内存泄漏的工具才刚处于起步阶段。如果你现在就掌握了这些技能,那么将来肯定可以更好地推销自己。
如果你对这一类东西感兴趣,那么可以阅读PluralSight上的一些课程。只要搜索“Javaprofiling”即可。
日趋完善的框架
Angular的新版本正在开发中,而且还有Aurelia作为候选。商业产品如Scencha的EXTjs。还有用于服务器端编程的Node.js。等等等等。用Java开发实际的应用程序并不太难。我敢保证,如果我愿意的话,我完全可以只用Java来写一个可以运行的桌面应用程序。嘿嘿。
Java无处不在
Java可运行在所有主要平台的所有主流浏览器上,也可运行在每一个主流操作系统的服务器端上。现如今我们在为网站写任何一个主要功能的时候都需要有懂能够用Java写前端的开发人员。而后端代码是用什么编写的则无所谓——不管是Java,PHP,.NET,Node.js还是其他——但是客户端就一定需要一个Java开发人员。事实上,现在很多开发人员依然没有认识到Java有多么强大。不知道正在阅读的你是否也是这些井底之蛙的一员。如果你确实是一个了不起的Java程序员,那么基本上所有有关于服务器端平台的工作都能够胜任。如果再了解这些平台基本上就可以上任了。
Java是一种编译语言
这也许会吓你一跳,从技术上说,Java是一种编译语言。这有两个含义。首先,一旦代码被编译,它的运行速度或许就能媲美于任何其他可执行文件。其次,为Java写工具在技术上是可行,并且将会创建一个不必每次加载代码到内存中时就重新编译的二进制文件。
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
西安北大青鸟华美,2017年特招班全面招生,0基础,0学费,报名就送报名大礼包
2017高考低分必看,低分学生的最佳出路!0基础,0学费,报名就送报名大礼包
今日搜狐热点资讯中心 NEWS CENTER
当前位置:&&&&&&
我学习JS的经历
下面简单介绍介绍我学习JS的经历:1. 高二开始写了一个手机软件下载网站,这也是第一次接触JS。所谓的接触,也就是真只“接触”了而已,大概就只会改变改变DOM的innerHTML一类的。那时候是07年,jQuery也才刚发布没多久,所以用的还是纯JS。大概做了半年后听说Ajax了,虽然完全不懂这货是干嘛的,但还是买了本关于Atlas的书随便翻了翻。(不知道现在有多少人知道这玩意?)2. 大学前两年也折腾过几个基于Web小东西,那时候貌似开始用了jQuery,但是实际上JS水平基本没有提升。唯一做的比较有意义的事情是调用了下Google Map的API,开始意识到JS真的可以做很多事情。3. 大学后两年认真做了一个Chrome的扩展,微博控,大概是自定义新浪微博界面的。因为Chrome的扩展几乎是纯JS的,再加上插件的作用就是改造DOM,所以这段时间接触了很多JS,DOM,HTML,CSS的东西。不过缺点是,因为插件做的事情简单,但是需要学习的东西却很杂,所以我依然没有足够JS语言本身。其实这里我想多谈谈,现在总结自己以前走的弯路,我觉得“杂”是很难精通JS的一个根本原因。学C/C++,我们大多数只需要focus在语言本身,最多折腾折腾makefile,甚至用VS的话,完全不用考虑太多东西,因此我们能把精力花在学好语言上。而学习JS的话,我们必须在JS,HTML,CSS等等等等东西上不停切换。好不容易搞清楚CSS里面各个样式后,发现还有跨浏览器兼容性的问题,直接崩溃。好不容易站起来解决跨浏览器兼容性,结果发现即使同一个浏览器,IE6和IE7还有不同,又是一口老血喷出来。正是因为有太多不同的东西要去同时接纳,所以很容易走向一个“门门懂,样样瘟”的歧路。。4. 毕业找工作的时候,简历大言不惭的写“精通Javascript”,面了两个职位都被拒,从此才意识到自己根本不懂JS。其实反而是在意识到自己水平根本不高之后,才更能踏实看看JS本身的东西。5. 现在工作中接触最多的也是JS,能明显感觉到自己水平有了很多的进步。这里我的经验就是,去Github上仔细研究一个基于JS的lib/project,看看别人到底怎么用,为什么要这么用。等自己JS有了一定水平,再去看看jQuery这样的库,你会发现自己能体会它很多精妙所在。自己经历大概就这样吧。现在距离“精通JS”还蛮有距离,与大家共勉。本文来自作者:液漏酱
&&上一篇:下一篇:&&

我要回帖

 

随机推荐