• 发现并认为这是jQuery1.4.4的一个Bug


    说起来还觉得丢人,公司的系统开发了两年,目前jquery的版本还是用的1.4.4。

    mantis上的Bug一堆,今天在改bug的时候发现一个jQuery的Bug。

    改bug嘛,一开始总是各种调试,总感觉怪怪的。经过各种分析和猜想后,最后问题归结到jquery.data函数。于是做了个实验。
    先写了一个简单的页面:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    
    <html>
    
    <head>
    
        <script type="text/javascript" src="jquery-1.4.4.min.js"></script>
    
        <script type="text/javascript">
    
        $(function(){
    
            $("#box").text("hello jquery");
    
        });
    
        </script>
    
    </head>
    
    <body>
    
        <div id="box"></div>
    
    </body>
    
    </html>

    接着我在控制台执行:

    结果却返回了一个function。
    但执行:

    返回undefined。

    然后又是各种猜想和测试,发现执行jquery的内部函数名称的参数时,这些内部函数名都会返回函数体。

    $.data($("abc"),"css")
    $.data($("abc"),"data")
    $.data($("abc"),"text")

    我觉得这是个jQuery1.4.4的bug。所以我又试了下最新版本的jQuery1.10.2 。
    在最新版本下,返回的就都是undefined了。即我所认为的正常返回结果。

    接着我建议升级jQuery的版本,但经理说,升级会有风险,因为有些接口在高版本里用法改掉了。
    没办法,确实有这问题。但早干嘛了。目前只能先尽量避免使用这些特殊的名称了。1.4.4应该还存有很多Bug。这次只需要改掉几个命名就行了。但下次还不知道有怎样的奇葩问题。

  • 相关阅读:
    如何在 Linux 虚拟机上扩展根文件系统
    Linux 虚拟机中配置 GNOME + VNC
    在 Linux 中使用 Azure Premium 存储的基本优化指南
    如何为运行的 ARM Linux 启用 LAD2.3 版本的诊断扩展
    不要在构造函数中抛出异常
    vtk java
    富文本keditor的一些使用问题
    几个问题
    Java并发编程(十四)并发容器类
    FreeBSD编译安装emacs,不要用ports
  • 原文地址:https://www.cnblogs.com/shijiaqi1066/p/3441510.html
Copyright © 2020-2023  润新知