我刚刚学习JS/jQuery,并且我遇到了this page,它似乎主张使用vanilla JS而不是jQuery。是否有一个合理的理由来使用insertAdjacentHTML()而不是.before()或.append()之类的东西?是否有任何情况下最好使用vanilla JS over jQuery,如果是这样,为什么?是否有理由在任何等效的jQuery函数上使用insertAdjacentHTML()?
0
A
回答
3
通常你会发现使用本机函数胜过jQuery函数。 Here's a JSPerf比较insertAdjacentHTML和jQuery附加的速度。你可以看到大多数时候你的表现稍微好一些。
你应该问自己在你的应用中有多少性能问题。它是如何有必要优化你的脚本?对于大多数应用程序,我不认为你会发现jQuery的性能和原生函数之间有任何区别,即使在速度差异比这两个函数更明显的情况下。但是,了解jQuery函数的本地等价物仍然很有价值。有时候你可能需要担心这种程度的表现。或者,如果您想编写不依赖jQuery的代码,也许是开源项目。而且,如果你知道语言和本地DOM以及你熟悉jQuery,那么你就不会认为你更有可能成为更好的Javascript程序员。
0
jmeas是正确的表现。另一个问题是jQuery 90K加载。但是在大多数项目中,这些问题非常小,jQuery将使您的代码更快,更清洁,更智能,更优雅。我的卑鄙建议是:除非你真的有奇怪的性能问题,或者只需要几个vanilla js调用,否则对大多数项目使用jQuery。
相关问题
- 1. 是否有任何理由Object.freeze函数?
- 2. 是否有任何理由使用等待和异步马上?
- 3. 是否有任何理由不使用INLINABLE pragma作为函数?
- 4. 是否有任何理由使用[:over @:?
- 5. 是否有任何理由使用isset()?
- 6. 是否有任何理由使用System.Uri?
- 7. 是否有任何真正的理由在Uitextfield上使用UiSearchBar?
- 8. IdnMapping :: GetAscii C#Methode是否有任何等效的C/C函数?
- 9. 是否有任何理由在'.class'上使用selector'* .class'?
- 10. 是否有任何合理的理由在Java中的数字类上使用新的构造函数?
- 11. 是否有任何jQuery.ajaxSuccess等效于AngularJS
- 12. 是否有任何理由在C#中使用私有属性?
- 13. 是否有任何理由不在生产数据库上使用Rails迁移?
- 14. 是否有任何理由在JavaScript中使用Object.create()或new?
- 15. 是否有任何理由在Android中使用support.v4库?
- 16. 是否有任何理由在vb6中使用DHTML或IIS?
- 17. 是否有任何理由在VBA中使用ENUM?
- 18. 是否有任何理由在Swift中使用选择器?
- 19. 是否有任何理由在java中使用null == value条件?
- 20. 是否有任何理由在两个MemoryStream之间使用CopyToAsync
- 21. 是否有任何理由在微软ISV中使用TFS 2010?
- 22. C++:是否有任何理由使用uint64_t,而不是size_t
- 23. 是否有任何理由使用SGML而不是XML?
- 24. 是否有任何理由使用Apache HashCodeBuilder而不是Objects.hash?
- 25. 程序员是否有任何理由使用System.in.read()中的char?
- 26. 这个函数调用是否有任何理由不起作用?
- 27. Android API级别7中的requestAudioFocus是否有任何等效函数?
- 28. 是否有任何理由在字符本身上使用HTML实体?
- 29. 如果数组的等级/大小可用,是否有任何理由使用假定大小的数组?
- 30. 是否有任何理由将引用留在AssemblyInfo.cs中的System.Runtime.CompilerServices?
无论如何,你最终必须学习纯JS JS,但如果你使用jQuery,那么我会说只是做jQuery的方式。 – elclanrs
谢谢。无论我在学习什么 - 我都没有在问题中清楚地说出。 – kfrncs