关于项目中用js还是jquery。

现在我处在一个比较快的上升期,自己的项目已经做了差不多一个月。做了一个类似于微博的系统,js全部是用原生写的。不过以后我觉得我自己肯定是要去企业的,不过我个人对于jquery是有抵触的,我觉得任何框架都会限制一个人的发挥,除非自己写适合自己项目的框架。js现在都可以写pc端3d游戏了(封装了一个浏览器内核),js在以后的跨平台中还是有作为的,用学习js的时间去熟悉jquery或者任何框架我觉得有点浪费时间,大牛们觉得呢。

阅读 16k
19 个回答

不知道我回答你乐意相信不?看你的态度不管人家说什么都是一副不愿意接受的样子,既然如此何必来问呢?

言归正传,先纠正你几个常识错误:

  1. jQuery 不是框架而是一个库,它算是集成较多功能的一个库吧,但还是算不上一个框架。

  2. 即便是在 BAT,也不是什么团队都有能力去写一个框架,即便是有能力写一个框架也不一定就非要用自己写的,另外去 BAT 的人说自己不懂 jQuery,你觉得可能不?

学习 jQuery 本身是非常简单的事情,如果你真像自己描绘的那样聪明有抱负,学一个 jQuery 简直是不值一提的事情。

现在的情况是这样的,你完全可以不用 jQuery,而且现在也的确进入到了可以不学 jQuery 的时代开端了。可是我依然建议你学一下,不管怎么说,jQuery 都是整个 JavaScript 届里公认的质量很高的第三方库。不光是代码编写质量高,也包括设计思想,比方说很多开发者都是学习 jQuery 之后才知道 chaining method 的写法和好处的等等。

所以说如果你觉得你个人起点可能比一般程序员高一些,那你可以不止学 jQuery 怎么用,更可以学学里面的一些东西如何实现,可以说 jQuery 是“上古时期” JavaScript 在浏览器中实践的菁华总结吧,而且也有不少现代的前端知识和技巧在里面。

最后奉劝你一句,年轻人可以傲但不要轻狂,有些事情自己了解清楚再放结论。总是把自己做个框架挂在嘴上显得这事儿很简单似的,去看看 Github 上像 Angular/Ember 这样的项目多少人写了多少年贡献了多少提交吧,你真以为市场买大白菜那么简单呢?别看不起 jQuery,毕竟是 john resig 作品,有太多前端依赖 jQuery 而成了“半残”并不是 jQuery 的错,同样反过来走另外一种极端也并不是你的对呀。

感觉上挺多人有这个时期,因为能做出一点东西而自满,当然从0到1的过程是会让人有挺大的成就感,这种状态也正是对这个领域还不足够了解的表现。

会写JavaScript并不代表了解JavaScript,会用一个框架也不一定要用这个框架,当然如同楼上所说,jQuery是一个库。

鄙人不才,也有过一小段这样的时期,但幸运的是当时碰到比较好的一位上司也算是我的入门导师,在他教导下很快的走出这段时期。

在此抛下几个问题
如果你说学习框架浪费时间,那你认为什么是不浪费时间的?
如果你觉得这些框架或者库你有所抵触,那你抵触它的原因是什么?为什么会有那么多人拥戴它?
你了解JQuery吗?你知道他的语法糖结构是怎么实现的吗?你知道他的初始化流程吗?你知道JQuery的核心函数是什么吗?你知道他的设计理念是什么吗?
React,Angular,Vue等等的大型框架在近几年频繁出现,但JQuery并不会因此被完全淘汰,为什么?

现在类库、框架、语法结构层出不穷
花点时间学学这些对自己的提升总是有的,但万变不离其宗,你要对JavaScript的语法结构有深层次的了解了,就不会被框架什么的牵着鼻子走。

总结一句:你代码打的还不够多

满招损,谦受益

据我了解,企鹅有好些前端团队,凡造轮子者不招

坐等撸主开发出简体中文的编程语言。

talk is cheap show me the code

jquery是dom操作为核心的精华,jquery怎么可能会限制你的发挥

jQuery不会限制你的发挥。jQuery如果不会的话,可以说你前端还没入门。

对html5支持比较好的环境下(对兼容性要求不高)做开发其实已经可以慢慢脱离JQ了,比如一些简单的移动端的应用,3-5个页面的那种,自己简单封装下ajax,连Zepto都不需要引入。现在越来越多的mvvm和web components解决方案也加速了JQ推出历史舞台的速度。不过这些都不能磨灭JQ在js发展史上地位,更不用说现如今JQ所占的市场份额也可能是第一的。

打个不恰当的比方,汽车论坛经常有MT党和AT党的月经之争,题主就好比是手排党,人生中第一辆车是辆手排,觉得开手排有驾驶乐趣,掌控自如。于是就会对开自排的车主有一种与生俱来的优越感,有一种不屑。可能等以后开得公里数多了,开过路况也多了,开过朋友同事的自排车后,突然某一天会对自己说,我特么当初怎么就没有买自动挡呢!
当然上面的故事反之亦然。
以上言论,全当玩笑。。。。。。哈哈

我觉得任何框架都会限制一个人的发挥

给个建议:

  1. 你自己写自己的框架和库,不用开源(开源了也没用,自己用自己的框架才是最好的).

  2. 你找工作的时候就说你是用原生js和自己的框架开发的,从来不用别人写的东西,用别人的框架对自己不好.所以以后公司的前端架构和开发全部你自己一个人负责就好啦.

然后在开发中自己不断研究JavaScript,练成独门绝技,达到前无古人后无来者的高度,成为前端界的里克尔梅-独自行走的大师!
我的建议还不错吧?

终于看出来了,题主不是来提问的,而是来传教的——一句“大牛们觉得呢”点出了你想在这个问题上求得认同的心理。然而却被大家一盆接一盆地泼冷水,恼羞成怒,便发表了一些贻笑大方的言论


先看 Wikipedia 的定义:

jQuery's syntax is designed to make it easier to navigate a document, select DOM elements, create animations, handle events, and develop Ajax applications. jQuery also provides capabilities for developers to create plug-ins on top of the JavaScript library. This enables developers to create abstractions for low-level interaction and animation, advanced effects and high-level, theme-able widgets. The modular approach to the jQuery library allows the creation of powerful dynamic web pages and web applications.

这段话说明了 jQuery 是一个集众多功能于一身的类库,而不是题主所说的框架(详见: http://stackoverflow.com/questions/3057526/framework-vs-toolkit-vs-library)。它在浏览器和开发者之间设置了一个抽象层,最大程度地消除了浏览器之间的差异,简化了 Web 编程。

jQuery 项目始于 2006 年,至今已有十年的历史了,但至今仍然十分受欢迎。如今,世界上有成千上万的网站在使用 jQuery,有很多公司在招聘时也将“掌握 jQuery”作为一项基本技能(这种现象我不作评论,只是简单地陈述事实)。

说了这么多,我只是想表示: jQuery 是一个优秀的 Javascript 类库

我觉得任何框架都会限制一个人的发挥

题主的这句话,我认为是不正确的。你所看到的“被框架限制发挥的人”,是一种病态的现象。这些人只求”知其然“,但不求”知其所以然“,他们有一个名字——叫”码农“。

从题主的表述中隐约可以看出,题主是一个不甘于做码农的人——这固然很好,但这并不能成为你抵制使用类库的接口——事实上,若能在使用类库的过程中做到“知其所以然”,去阅读它的代码,去思考其中的原理,我想这一番收获,定比自己摸索写类库来得更深刻些。

君不见,那 jQuery 项目的成员中,有多少业界的大牛?那 jQuery 的底层实现,有多少 Javascript 的简洁技巧?

想自己完成一个类库,是好事情。但盲目抵制其他类库,只会适得其反。


最后告诫题主:面向世界时,请保持谦卑。不可一世,夜郎自大,只会遭到世人的鄙夷。

你觉得你很厉害,但总有人比你更厉害

会js是好事,像我这种渣渣为了节省学习成本直接学的jq,到头来还是要学js,我感觉你应该稍微看下jq,能懂大概意思就好

  • 如果别人问我怎么学习JS,我一般都是说你可以先尝试用用Jquery,为何?应为上手快,学习成本降低,不会给人太大的挫败感。

  • 如果你说你要去面试,那么我会回答,首先你要熟悉js,最最最基本,ajax要会原生的,考虑不同浏览器。

  • 如果你想成为前端的男人,请两者都要熟练掌握,但是,jquery只是一个js库,他会被时代淘汰,而js还是不倒,如果js都倒了,那么jq也就不存在了。

想看看你的微博系统

jq其实就是原生js的封装,能够精通原生js当然好,但是要做到jq的水平需要极高的js水平,你可以看看jq的源码比较自己的不足就会明白了,最后,想吃透js肯定得研究原生的,所有框架都是作者对js的向往。

用jquery不代表低端 能把jquery那套api吃透 知道最基本的性能原则 能流利应用链式书写 已经比培训班出来的好多了

能力强就自己造轮子呗,能力不强就用轮子呗,这有什么好纠结的。反正我办事的唯一标准就是,办成就行,无论什么方法。正所谓黑猫白猫,抓到耗子就是好猫。你对自己js功底有信心,果断用原生就好了,其实jq也是原生,并不是什么框架,大可不必这么抵触。

一般我是这样处理的。

  1. 如果是强依赖 jquery 的项目,业务型的代码我都会依赖 jquery ,毕竟国内大多数 PC 产品都需要兼容 IE8+,用 jquery 来写业务可以专注开发。比如 jquery 的 deferred, ajax, animation 确实很实用。

  2. 虽然有强依赖 jquery 的项目,但是通用的功能组件等东西,尽量使用原生 javascript 来编写,要问为什么的话,就是在更多的项目都能通用,即使是一个非强依赖 jquery 的项目,比如移动端的项目或者 react 的项目(非 DOM 类型的组件)等。

  3. 其实最终 jquery 也是靠 javascript 来写的,所以不需要太关心太多,如果你能把握住技术,用什么都能很顺手。

  4. 不是每一个团队都想 AT 一样有那么多人去自己造轮子,所以 jquery 是相当不错的选择,业界公认的标准,虽然有 react 和 ng2 等 webcomponent 等等项目,但是 jquery 的生态圈目前比较牛逼,jquery 写不好,你跟我说 react 我能写得很好,javascript 写得不好,jquery 我能用得很好,我还真不信。

说句题外话,你真的了解jQuery吗?jQuery的思想你真的明白吗?你是否对jQuery源码能从头到尾的看明白,注意,我说的是源码,不是API。就原生来说,原生JavaScript的模式,思想,你了解多少,框架不是一个人能写出来的(当然,除了非常人之外),放低姿态,好好学习

实现数据展示与逻辑功能,最大限度优化功能和体验才是前端做的,谁关心你用什么框架?除非框架是你写的,你牛!

推荐问题
宣传栏