GVKun编程网logo

使用JQuery而不是直接JavaScript保存多少行代码?

9

关于使用JQuery而不是直接JavaScript保存多少行代码?的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于javascript–jQuery添加字符串而不是连接、javascrip

关于使用JQuery而不是直接JavaScript保存多少行代码?的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于javascript – jQuery添加字符串而不是连接、javascript – jQuery追加为文本而不是html、javascript – “jQuery(…)”而不是“$(…)”、javascript – 为什么有些jQuery程序员使用jQuery函数,如$.get,$.getJSON和$.when而不是$.ajax [closed]等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

使用JQuery而不是直接JavaScript保存多少行代码?

使用JQuery而不是直接JavaScript保存多少行代码?

也许更熟悉这个主题的人可以帮我简化或正确地写出问题.我们正在寻找 JQuery甚至其他JS框架的指标,与使用直接javascript相比.我不相信代码度量标准,从来没有,但我无法考虑其他任何东西来衡量它.

Function Points (jquery) = Jquery-LOC
Function Points (JS) = JS-LOC

解决方法

要使用标准javascript附加单击处理程序,您可以尝试这样的方法:

var myelement = document.getElementById("clickme");
function myClickHandler (evt) {
  var evt = evt || event; // ie uses a global instead of
                          // passing an object as a param
  (evt.target || evt.srcElement).style.width="110px";

}
if (myelement.addEventListener) {
   myelement.addEventListener("click",myClickHandler,false);
} else if(myelement.attachEvent) {
   myelement.attachEvent("onclick",myClickHandler);
} else if(typeof myelement.onclick === "function") {
    (function () {
      var oldfunc = myelement.onclick; 
      myelement.onclick = function (evt) {
          var evt = evt || event;
          oldfunc(evt);
          myClickHandler(evt);
      }
    })()
} else {
   myelement.onclick = myClickHandler;
}

或尝试使用jquery做类似的事情

jQuery("#clickme").click(function(evt){ jQuery(evt.target).css("width",110); });

您可能会争辩说,每次要分配单击处理程序时,第一个示例代码都是一个愚蠢的事情.为什么不将它重构为自己的标准函数,并重用它?那么你有一个可以调试的中心函数,而不必在发现错误后重写每个实例.

这将是一个非常好的论点,这正是像jquery这样的库的重点.如果您希望代码跨浏览器工作,则不要编写绝对必要的详细样板文件,从而节省时间.无需调试即可节省时间.您可以节省时间 – 如果您必须调试它,您只需要在jquery中修补一个函数并为下一个版本提交错误报告.如果事件绑定代码出现问题,那么只需要改变一位代码,而不是需要更改数百万代码的数千人.当有人指出你应该首先测试addEventListener时,这一点变得毫无意义,因为jQuery已经做了既定的“正确”事情.如果没有,它将在下一个版本中.

jQuery不会帮助你解决真正困难的领域特定问题,但是为了磨练每天的dom操作,最好使用库函数而不是试图将它“靠近金属”.有太多的跨浏览器碎片,以及太多愚蠢的冗长的APIS,并且一遍又一遍地解决已经解决的问题太愚蠢了.

你需要一些类型的库(不一定是jquery)才能保持理智.

现在你节省了多少时间和精力?谁知道?这是无法估量的.你有多少次绑定一个事件处理程序?你有多少次在一个简单的函数中做jQuery提供的其他东西?一个人强烈依赖另一个人.

如果您找到了衡量程序员工作效率的方法,请告诉我们.我想我们都很感兴趣.无论如何,我们从这些客观事实和我们自己的个人主观经验中知道,这可能是相当长的时间.

javascript – jQuery添加字符串而不是连接

javascript – jQuery添加字符串而不是连接

我正在从选择列表中添加值(或减去),我似乎无法使它不连接字符串.

我的选择清单是:

我的javascript是:

基本上我正在尝试让currentAccess将当前值作为整数并根据需要进行加减.

汤姆

最佳答案
使用整数而不是字符串.

>将currentAccess初始化为零.
> – =运算符给模糊性留下了很少的位置,但是
 =运算符可以表示“连接字符串”或“添加数字”.
>使其更明显,convert the variable to a number,例如使用* 1(次1)

更新的代码:

$("select").change(function () {

    var currentAccess = 0; // Instead of "0"
    var currentText = $(":selected",this).text();
    var value = $(this).val() * 1;
    alert(currentAccess);
    if (currentText == "Off")
    {
        currentAccess -= value;
    }
    if (value != 0) {
        if (currentText == "On") {
            currentAccess += value;
        }
    }

    $.cookie("accessReqs",{
        expires: 24
    });
    alert(currentAccess);    
});

javascript – jQuery追加为文本而不是html

javascript – jQuery追加为文本而不是html

以下代码从Ajax json调用获取值,并应将其附加到具有相应值的div.事实是,它作为文本而不是html附加,所以我在页面上看到我的html作为文本.我怎样才能解决这个问题?
$.ajax({
    url: "https://domain.com/maprequest.PHP",type: "POST",dataType: 'json',data: JSON.stringify(url_array),crossDomain: true,success: function(response) {
        $.each(response,function(k,v) {
            if (v != "") {
                $('.offer-list li .img a')[k].append("<div><img src='" + v + "' alt='hover' /></div>");
            }
        });
    }
});

解决方法

通过编写$(‘.offer-list li .img a’)[k],您可以获得索引为k的实际HTML元素,而不是jQuery集.我想你的问题是由此引起的.

试试这个代码.

$('.offer-list li .img a').eq(k).append("<div><img src='" + v + "' alt='hover' /></div>");

eq函数将在内部过滤索引为k的HTML元素的jQuery集.请参阅文档here.

让您感到困惑的是,HTML元素具有append和appendChild方法,并且每个方法分别将纯文本或子节点附加到给定元素,因此您的代码将HTML作为纯文本附加.

javascript – “jQuery(…)”而不是“$(…)”

javascript – “jQuery(…)”而不是“$(…)”

编写jQuery(“…”)而不是$(“…”)是一个好习惯吗?

我听说如果他们使用$也可能有助于避免与其他图书馆的未来冲突,但这是真实世界的关注吗?假设我真的不知道将来会使用哪些其他库,那么我应该避免在脚本中写入$(“…”)吗?是否有其他知名图书馆依赖于$?

此外,我很想知道这个主题是否还有其他问题.

解决方法

使用$for jQuery是完全安全的,它是jQuery的习惯用法,至少在你自己控制的页面上.

如果您确实选择在窗口小部件中使用jQuery,则可以以防止冲突的方式对其进行构造.

一般来说,jQuery绑定到$和jQuery,所以单独使用jQuery并不能保证你的安全.

如果你担心冲突,jQuery会公开$.noConflit();
http://api.jquery.com/jQuery.noConflict/

放弃对$的控制,你可以将jQuery存储在你选择的变量中(或使用jQuery).

以下是使用基于Wikipedia page和stackoverflow answer的$符号的库:

Scanning this page,the only ones that come to mind are:

  1. jQuery – Provides jQuery.noConflict() to release the $
  2. Prototype
  3. MooTools

然而,jQuery以大约90%的市场份额杀死它.

> http://www.theregister.co.uk/2012/08/14/jquery_used_by_half_of_all_websites/
> https://stackoverflow.com/questions/176324/why-does-everyone-like-jquery-more-than-prototype-script-aculo-us-or-mootools-or

javascript – 为什么有些jQuery程序员使用jQuery函数,如$.get,$.getJSON和$.when而不是$.ajax [closed]

javascript – 为什么有些jQuery程序员使用jQuery函数,如$.get,$.getJSON和$.when而不是$.ajax [closed]

我的问题是,如果你的jQuery $.ajax函数中有所有内容为什么使用$.get(),$.getJSON(),$.when()和其他我见过的,不是更好的只使用ajax因为我可以告诉你,你几乎使用与传统的$.ajax相同数量的字符来编写这些函数.

除了简化这些功能名称之外,还有什么区别?

解决方法:

这是常用行为的简写.我使用这些方法有两个原因:

>打字较少,因此较小的“脑屁”错误空间较小.
>参数少得多,因此您无需记住传递给$.ajax所需的所有内容或花时间返回文档.

功能方面没有区别,这些方法只为您提供一些默认值.

关于使用JQuery而不是直接JavaScript保存多少行代码?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于javascript – jQuery添加字符串而不是连接、javascript – jQuery追加为文本而不是html、javascript – “jQuery(…)”而不是“$(…)”、javascript – 为什么有些jQuery程序员使用jQuery函数,如$.get,$.getJSON和$.when而不是$.ajax [closed]的相关知识,请在本站寻找。

本文标签: