【问题标题】:When should I use a javascript framework library?我什么时候应该使用 javascript 框架库?
【发布时间】:2010-10-26 04:53:03
【问题描述】:

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

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

到目前为止,我一直只使用普通的 javascript 来做我的事情,就我没有实现大型网站而言,是否值得学习一个框架?

谢谢

【问题讨论】:

    标签: javascript frameworks


    【解决方案1】:

    我现在就开始。像 jQuery 和原型这样的库不仅可以使您免受浏览器差异的影响,还可以为您提供与其他程序员交流想法的简写。

    【讨论】:

      【解决方案2】:

      与jquery的交易是做javascript的方法,但工作量少,与他人交流更容易,所以我会说是的

      这样想,你宁愿用微软word还是记事本写论文

      【讨论】:

      • ufff 我是 vim 的忠实拥护者! :D
      • 只是对非技术人员的一个简单类比,因为 ms word 是用来处理您在记事本中无法处理的文本格式
      • "只是对非技术人员的一个简单类比,因为 ms word 是用来处理文本格式的,你不能在记事本中 使用 GUI" 你告诉我 LaTeX记事本中的代码无法执行 MS Word 的操作;)
      【解决方案3】:

      在 SO 上,您会发现 很多 人(包括我)提倡使用 jQuery(尤其是)。对我来说,这是一个框架应该具备的一切:小、轻量级、可扩展、紧凑但功能强大且语法简洁,它解决了一些非常重要的问题。老实说,我很难想象一个我不会使用它(或其他框架)的项目。

      使用它的原因是为了解决浏览器的兼容性问题。考虑我对javascript to get paragraph of selected text in web page 的回答:

      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;
        }
      }
      

      如果您熟悉 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();
      }
      

      jQuery 真正闪耀的地方在于 AJAX。周围有 JavaScript 代码 sn-ps 以找到要实例化的正确对象(XMLHttpRequest 或等效的)来执行 AJAX 请求。 jQuery 会为您处理所有这些。

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

      【讨论】:

        【解决方案4】:

        每当编写 javascript 不是你的事

        JS 库除了提供帮助程序和快捷方式外,还负责处理极端情况、浏览器不兼容和怪癖以及最佳实践。最好花时间开发应用程序,只有在必要时才回退到原生 JS。

        【讨论】:

          猜你喜欢
          • 2023-03-15
          • 2011-08-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多