我什么时候应该使用javascript框架库?

alv*_*tar 9 javascript frameworks

我正在写一个小网站,只是做一些动画,并显示一些信息作为主页和链接列表.所有这些都将在客户端动态生成.所以一切都将是javascript和XML.

最近我一直在阅读有关javascript的一些问题,大多数情况涉及框架(jquery和朋友)的使用和/或推荐.当一个小的Web开发应该开始考虑使用这样的框架?

直到现在我一直在用普通的javascript做我的东西,只要我没有实现一个大网站是否值得学习框架?

谢谢

Pau*_*xon 11

我现在就开始吧.像jQuery和prototype这样的库不仅可以使您免受浏览器差异的影响,还可以为您提供将您的想法传达给其他程序员的简写.


cle*_*tus 11

在SO上你会发现很多人(包括我)主张使用jQuery(特别是).对我而言,这是框架应该具备的一切:小巧,轻便,可扩展,紧凑但功能强大且语法简洁,它解决了一些非常重要的问题.老实说,我很难设想一个我不会使用它的项目(或其他框架).

使用它的原因是解决浏览器兼容性问题.考虑我对javascript的回答,以获取网页中所选文本的段落:

function getSelectedParagraphText() {
  var userSelection;
  if (window.getSelection) {
      selection = window.getSelection();
  } else if (document.selection) {
      selection = document.selection.createRange();
  }
  var parent = selection.anchorNode;
  while (parent != null && parent.localName != "P") {
    parent = parent.parentNode;
  }
  if (parent == null) {
    return "";
  } else {
    return parent.innerText || parent.textContent;
  }
}
Run Code Online (Sandbox Code Playgroud)

如果您熟悉Javascript,那么您应该熟悉很多内容:例如检查innerText或textContent(Firefox 1.5)等等.纯粹的Javascript充斥着这样的事情.现在考虑jQuery解决方案:

function getSelectedParagraphText() {
  var userSelection;
  if (window.getSelection) {
      selection = window.getSelection();
  } else if (document.selection) {
      selection = document.selection.createRange();
  }
  var parent = selection.anchorNode;
  var paras = $(parent).parents("p")
  return paras.length == 0 ? "" : paras.text();
}
Run Code Online (Sandbox Code Playgroud)

尽管使用AJAX,jQuery真的很棒.有JavaScript代码片段可以找到要实例化的正确对象(XMLHttpRequest或等效的)来执行AJAX请求.jQuery为您处理所有这些.

所有这一切都在20k以下的核心jQuery Javascript文件.对我来说,这是必须的.


san*_*247 5

每当写javascript 都不关你的事

JS库除了提供帮助程序和快捷方式外,还处理特殊情况,浏览器不兼容和怪癖以及最佳实践。最好花一些时间来开发应用程序,并且仅在必要时才使用本机JS。