为什么每个javascript问题的答案最终都是;jQuery";
在过去的几周里,我一直在关注javascript问题,我发现了一个常见的重复主题 这里几乎所有涉及JavaScript的问题都可以通过以下方式得到回答:为什么每个javascript问题的答案最终都是;jQuery";,javascript,jquery,Javascript,Jquery,在过去的几周里,我一直在关注javascript问题,我发现了一个常见的重复主题 这里几乎所有涉及JavaScript的问题都可以通过以下方式得到回答: “jQuery可以做到这一点” “这有一个插件” “jQuery可以为您铺床。” 即使是引用其他库的问题,答案也是“改用jQuery” jQuery整体上正在取代JavaScript吗? 这是一个严肃的问题。我们真的在展望未来吗。显然,这个社区对jQuery有强烈的偏见(这是因为有很多.NET开发人员吗?),但整个web开发社区是否也有这种偏见
这是一个严肃的问题。我们真的在展望未来吗。显然,这个社区对jQuery有强烈的偏见(这是因为有很多.NET开发人员吗?),但整个web开发社区是否也有这种偏见?不,jQuery并没有取代JavaScript,因为它是JavaScript。但它对您帮助很大,特别是在选择元素和对元素应用函数方面 使用jQuery最重要的理由可能是:您不必考虑跨浏览器兼容性。
说真的,浏览器中不同的JavaScript实现让我抓狂 但我也不认为jQuery应该用于所有事情。这取决于JavaScript的使用位置(例如,哪些浏览器)以及您实际执行的操作 正如我已经回答的其他问题,只有理解JavaScript,才能掌握jQuery。如果您不了解jQuery的工作原理,那么编写糟糕的jQuery代码是非常容易的 更新: 事实上,在现代浏览器中,您已经可以使用jQuery完成通常使用的任务,比如使用选择器或
each()
,在JavaScript中使用document.queryselectoral()
和数组方法forEach()
但这就是问题所在:在现代浏览器中。jQuery确保您可以使用相同的API,而不必关心浏览器版本。我不能代表所有人说话,但jQuery只是让javascript任务变得更简单。更不用说,它们是跨多个浏览器测试的,因此不太关心跨兼容问题 在jquery的一行中编写的内容可能需要编写自己的javascript 10或更多。使用该库的另一个好处是,它已经过测试,您不必担心bug
这只是我的观点。jQuery已经成为一种事实标准,就像C或Java在桌面编程世界中的应用一样——每个人都知道它,或者应该知道它提供了公共语言。通常,每个人都从jQuery开始,然后从自己的经验中学习Javascript,然后可以到其他地方看看 Javascript很难,jQuery使其易于入门。一旦人们学习了jQuery,他们将对Javascript非常熟悉,可以学习其他框架或创建自己的微型框架。但遗憾的是,你可以学习其他东西,但一般来说,学习曲线更大
其他一些真正流行的工具是MooTools和SproutCore,它们都有巨大的支持。jQuery有点像javascript的训练轮,MooTools一直都是面向对象的,而SproutCore则用于云中的桌面应用。就像任何编程语言或框架一样,您学习最容易入门的语言或框架,然后随着学习的深入,您会意识到不同的语言和框架对不同的事情有更好的帮助,或者至少您应该意识到;-)呵呵。我对jQuery有点偏见。这是我唯一被忽略的标签:) 在我看来,当另一个人正在使用“普通”JavaScript时,人们在其他问题中发帖说“我可以使用jQueries吗?”是不合适的 <>我相信每个人在进入jQuery前都应该学习“纯”JavaScript + DOM操作,就像你不应该在学习C++时直接跳进DirectX;没有JavaScript专有技术,您无法使用jQuery 不过,最后,你应该使用你觉得更舒服的东西
但老实说,我相信如果你也精通JavaScript,你会有更多的机会,假设jQuery有一天会消亡。。。您对JavaScript本身的体验仍然存在。在我看来,JavaScript丑陋、容易出错,而且令人痛苦。我喜欢jQuery、prototype.js等方法的灵活性。然而,这些库的出现证明了我的观点。并非所有这些都是JavaScript的错。其中一些是由于网络浏览器 为了更好地回答实际问题: jQuery只是让事情变得更简单,就像任何好的库/框架应该做的那样。这就是为什么会有这么多人建议它。在jQuery中比在普通JavaScript中更容易实现。试图解释所有细节以使普通JavaScript在各种情况下工作可能是一件非常痛苦的事情
尽管如此,我同意。如果有人只是在寻找一个JavaScript解决方案,那就是他们应该得到的。然而,他们应该意识到这可能是一个困难的过程,不是每个人都有时间/兴趣去惹那么多麻烦 我不能为对某个特定框架的偏见辩护,但在完成任务和正确完成任务方面,通常使用框架胜过普通的javascript。大卫·沃尔什在这里说得最好:
如果您只是使用JavaScript来操作DOM和AJAX,为什么不使用框架来完成繁重的工作呢
JavaScript确实超越了网页和DOM。看看有没有严肃的惊人之处。看一小段时间,读一读这篇文章(虽然这会让人印象更深刻)。这与问为什么会偏爱使用任何框架(如MVC.net、CakePHP等)是一样的。速度、灵活性、重用性等等 然而,尽管框架做了很多很酷的事情,但最终它并不能取代了解和理解底层语言的需要