英语不是我的第一语言。对不起..
我总是试图避免使用像jQuery,Angular等外部模块。
在jQuery中,
$('.desc').addClass('active');
这可以像
那样function addClasses(className, class)
{
cl = doc.getElementsByClassName(className);
len=cl.length;
for(var i=0;len<i;i++)
{
cl[i].classList.add(class);
}
}
addClasses('desc', 'active');
它更长但它的行为也相同我们可以保存85kb的jQuery脚本文件。
我认为这种方法并不坏,并相信它可以减少更多资源并提高性能。如果您在社区中共享一些代码而无需安装外部模块,它可以直接应用...将它们添加到文档中......我真的很讨厌这些东西。
但我经常使用Codepen.io,甚至在这里使用stackoverflow社区,它们都使用jQuery或一些外部模块,尽管它可以替代单行代码。
我错了吗?是jQuery和其他外部模块不影响性能和资源的事情?因为实际上,它更容易使用,因此,它使脚本更短。
答案 0 :(得分:1)
jQuery只是一个库,它包含与提供的addClasses
函数非常相似的方法。如果您是最小化杀手&#34;,当然,您可以创建自己的一组方法,只有您真正需要的方法,或者只使用本机Javascript而不创建这样的方法(人们在某种程度上没有jQuery而离开) 。但jQuery并不是很重,我在使用它时没有看到太多问题。
答案 1 :(得分:1)
一切都取决于你正在建设什么。
jQuery实际上是一组有用的快捷方式,就像你注意到的那样。由于它的简单性,它非常吸引人,主要是年轻的开发者。但是it has its flaws。
Angular(和React,AngularJS等)是Web应用程序框架,远远超出了jQuery。使用其中一个将帮助您构建具有自己的生态系统的应用程序。框架是一个设计系统,它为您提供工具,但需要遵循它们的结构,原理图等。例如,在React和Angular中,您必须在JavaScript代码中构建视图(html),然后将其注入到DOM。
Mecki gave a great response关于库(jQuery,Mootools等)与框架(Angular,React,Ember)之间的差异。
最重要的是,想想你正在建设什么。如果事情很少,逻辑很少,可以考虑使用纯JavaScript。如果您(或您的团队)更喜欢jQuery,请尝试一下,看看性能是否可以接受。实际上,编写JavaScript代码相当容易,jQuery等效的代码性能较差。如果更大的东西,尝试一个前端框架,就像我提到的那样。请记住,他们的学习曲线很陡峭。所有五分钟的教程都会向您展示绳索,但进一步冒险将需要您和您的团队的大量工作。
最后一点是,现在85KB的JavaScript代码实际上并不算什么,因为浏览器缓存和连接每天都变得更快。如果您的捆绑包为+ 5MB,那么您开始担心; - )