Jquery或纯javascript

Hak*_*kan 4 javascript jquery

一个熟悉JavaScript的JavaScript程序员会用JQuery或纯JavaScript编写他/她的代码吗?

换句话说,JQuery是否适合那些不了解JavaScript的人?

让我们说我们正在谈论创建"公司演示网站",其中JavaScript主要用于动画.

Lès*_*sté 12

jQuery不是一种单独的编程语言.这是一个JavaScript库.无论你是否使用jQuery,它仍然是"纯JavaScript".

JavaScript专为功能和面向对象编程而设计.对于任何非平凡的应用程序,一个优秀的程序员可能会利用这些工具来帮助编写干净,可维护和高效的代码.

当您对一组函数/对象/类型/等进行分组时.在一起可以重复使用,你正在创建一个库 - 无论你是否给这个库命名.任何优秀的程序员都知道这样做是为了重用源代码,提供方便/实用功能,并避免为常见任务反复编写相同的代码.

John Resig恰好创建了一个优秀的DOM操作库,他在慷慨的开源许可下发布了它,它是一个促进许多程序员喜欢的编码风格的库,因此它变得非常受欢迎.

我认为可以肯定地说,John Resig非常了解JavaScript,他肯定会使用jQuery.如果这不能很好地反映他的编程能力,那么为什么它应该反映在使用jQuery的其他任何人身上呢?

最后,一个优秀的开发人员并不是根据他们自己编写的项目中的代码量来定义的.如果你是一个喜欢自己滚动的孤狼黑客,那很好.但是,开发人员的质量应该通过他们产生的最终结果的质量来反映.如果您自己构建CMS而不使用任何预先存在的库或框架或与任何人合作,但是所有意大利面条代码都表现出紧密耦合并且违反了DRY,那么您自己编写的所有内容都是在不使用任何预编译的情况下自行编写的 - 现有的库意味着很少.

我认为大多数客户可能更愿意利用任何适合这项工作的现成解决方案,这可能有助于在更短的时间内完成项目并产生更好的结果.


abu*_*uba 5

在 Jquery 中,您通常会在不声明临时变量的情况下,以相同的效果编写更少的代码(通常会慢一点,但不会打扰任何人)。也许否则,例如:

$('a').click (function () {/* blabla */ }).css ({/* some css here */});
Run Code Online (Sandbox Code Playgroud)

在纯 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
}
Run Code Online (Sandbox Code Playgroud)

虽然 jQuery 重约 100kb,但你写的却少了很多,但写得更清楚了