一个熟悉JavaScript的JavaScript程序员会用JQuery或纯JavaScript编写他/她的代码吗?
换句话说,JQuery是否适合那些不太了解JavaScript的人?
让我们说我们正在谈论创建“公司演示网站”,其中JavaScript主要用于动画。
答案 0 :(得分:11)
jQuery不是一种单独的编程语言。这是一个JavaScript库。无论你是否使用jQuery,它仍然是“纯JavaScript”。
JavaScript专为功能和面向对象编程而设计。对于任何非平凡的应用程序,一个优秀的程序员可能会利用这些工具来帮助编写干净,可维护和高效的代码。
当您对一组函数/对象/类型/等进行分组时。在一起可以重复使用,你正在创建一个库 - 无论你是否给这个库命名。任何优秀的程序员都知道这样做是为了重用源代码,提供方便/实用功能,并避免为了常见任务而反复编写相同的代码。
John Resig刚刚创建了一个优秀的DOM操作库,他在一个慷慨的开源许可下发布了它,它可以促进许多程序员喜欢的编码风格,因此它变得非常受欢迎。
我认为可以肯定地说John Resig非常了解JavaScript,而且他肯定会使用jQuery。如果这不能很好地反映他的编程能力,那么为什么它应该反映在使用jQuery的其他任何人身上呢?
最后,一个优秀的开发人员并不是根据他们自己编写的项目中的代码量来定义的。如果你是一个喜欢自己滚动的孤狼黑客,那很好。但是,开发人员的质量应该通过他们产生的最终结果的质量来反映。如果您自己构建CMS而不使用任何预先存在的库或框架或与任何人合作,但是所有意大利面条代码都表现出紧密耦合并且违反了DRY,那么您自己编写的所有内容都不需要使用任何预编译 - 现有的库意味着很少。
我认为大多数客户可能更愿意利用任何适合这项工作的现成解决方案,这可能有助于在更短的时间内完成项目并产生更好的结果。
答案 1 :(得分:4)
在Jquery中你用相同的效果写了很少的东西(通常需要稍微慢一点,但它不会打扰任何人)ussualy没有声明临时变量。 也许例如:
$('a').click (function () {/* blabla */ }).css ({/* some css here */});
在纯JavaScript中,可以通过以下方式显示一行:
var links = document.getElementsByTagName("a") // in modern browsers = document.querySelectorAll("a");
for(var i =links.length; i--;){
var l = links[i];
l.addEventListener("click", function(){ //bla bla},true);
l.style.someCssAtrribute = 'someValue'
//etc
}
虽然jQuery的重量大约为100kb,但你写得更少,更清楚
答案 2 :(得分:1)
我喜欢认为我对javascript很了解,但在我学习Jquery之前一直讨厌使用它。使用jquery,我可以更快地编写代码,使其他人更容易阅读并更易于维护。你为什么不用它?
答案 3 :(得分:0)
jQuery并不能真正帮助您使用JavaScript - 它可以帮助您处理DOM操作和事件以及Ajax请求等事务。要编写好的软件,你仍然需要对语言有一个很好的理解,但jQuery和其他工具可以极大地帮助创建工作应用程序。
所以问题的答案是“不,jQuery不仅适用于不懂JavaScript的人”。
答案 4 :(得分:0)
jQuery的优势在于它将常见的需求分解为行为,其中jQuery在确定如何最好地满足考虑当前浏览器的请求时做了肮脏的工作。这使您的代码对所有浏览器都一致且简洁。此外,它允许您使用选择器影响DOM,允许您一次操作具有相同意图的元素,而不是逐个操作。
答案 5 :(得分:0)
找到Javascript和jQuery之间的区别是没有意义的。 jQuery是Javascript中最高效的库之一,它使事情变得更容易。但是说jQuery适合那些不熟悉Javascript的人是愚蠢的。如果您是Javascript专家,那么您将成为有效使用jQuery的人之一。同时如果你是Javascript的初学者但是相信你知道如何使用jQuery,我建议你学习更多的Javascript,因为jQuery隐藏了很多你的东西,有时你可能无法识别你犯的错误 - 即使是jQuery中的一个简单语句也可能使用循环 - 所以你在使用jQuery时应该小心。这是性能和效率的问题,所以如果你想用jQuery编写完美的代码,你应该也知道Javascript,那么只有你才能充分利用它。