`
ryan.liu
  • 浏览: 136603 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

最近在JS和Jquery遇到的一些问题的解决方法(2009-03-31)

阅读更多
1. JS中数值字符串相加
var a='2.1'; var b='13';
var c=a+b; 则c的值为 2.113,因为+在字符串间是连接符。
如果要求a与b的和,则先要把a、b用parseFloat()或parseInt()转化为浮点数、整数
黑客方法 var c=a-0+b; 因为不管是在数值还是字符串间都是减法运算,对字符串JS会自动把它转化为数值。

2. JS中浮点数的多余的精度
var a= 2.6; var b=2.3;
var c = a-b;
那么c的值是多少?0.3?不对,它的值是 0.3000005 0.29999997之类,总之就是不等于0.3。汗!
产生这个情况的原因是浮点数在JS中的存储方式,不仅JS,严格符合ECAMScript规范的脚本语言都有相同的问题。
解决方法 var c = Math.round((a-b)*10)/10; 产生一位小数的精度。
为什么不直接用 (a-b)*10/10?因为当 c=0.29999997时,计算结果变成了我们不想看到的0.2。

3. Jquery中什么时候用$(this),什么时候不存在$(this)?
看看这个例子,点击切换图片。
$(function(){
$(img).bind('click', function(e){
    $.ajax({
        'url':'http://www.declab.com/?id='+$(this).val(),
        'success':function(html){ $(img).attr('src','http://www.declab.com/images'+html) },
        'cache':false
        });
    });
});

在这段代码中, 'url'中的 $(this) 和 'success'函数中的$(img) 都是指代码开头被点击的$(img),
但你不可以把第二个$(img)也换成$(this),它属于函数function(html){}的局部变量,已经出了function(e){}的作用域。
1
0
分享到:
评论

相关推荐

    jquery-migrate-1.2.1.js文件

    `jquery-migrate-1.2.1.js` 文件是jQuery的一个辅助工具,它主要用于帮助开发者解决在升级到较新版本的jQuery时可能遇到的向后兼容性问题。这个插件的主要目的是为了警告开发者那些在新版本中已经被废弃或者更改的...

    jQuery-1.8.3(&2.1.4).min.js&jquery;.fileupload&jquery;.iframe-transport

    jQuery-1.8.3和2.1.4版本代表了其在不同阶段的发展,而jQuery File Upload和jQuery Iframe Transport则是针对文件上传场景的优秀解决方案。理解和掌握这些知识点,将使你在实际项目中更加得心应手,提升开发效率。

    最新jquery-weui

    jQuery WeUI 社区活跃,有丰富的在线资源和文档可供学习,遇到问题时可以查阅官方文档或在社区提问,获取帮助和解决方案。 总的来说,`jQuery WeUI` 提供了一套完整的解决方案,用于快速构建具有微信风格的高质量 ...

    jquery-migrate-3.0.0.zip

    例如,如果你的项目中还依赖于jQuery 1.x时代的某些功能,而在升级到jQuery 3.x时遇到了问题,jQuery Migrate就能派上用场。它会提醒开发者哪些代码需要更新,或者直接提供一个临时的解决方案,使得代码在新版本中...

    jquery-migrate3.4版本

    jQuery Migrate 是一个插件,它的主要目的是帮助开发者平滑地过渡到较新版本的 jQuery,解决老版本代码在新版本中可能遇到的兼容性问题。在jQuery Migrate 3.4.0版本中,我们看到了对旧API和功能的维护,以及对现代...

    jquery-3.3.1.js/min.js

    jQuery 3.3.1还包含了一些实用工具方法,如`.each()`用于遍历集合,`.extend()`用于对象合并,`.trim()`用于字符串去空格,以及`.data()`用于在元素上存储和检索数据。 总结 jQuery 3.3.1作为一款成熟的JavaScript...

    jquery-migrate-1.2.1.min.js

    在本文中,我们将深入探讨 `jQuery Migrate 1.2.1.min.js` 的作用、如何解决 `jQuery` 和 `jqPrint` 兼容性问题,以及与 `jQuery` 和 `jqPrint` 相关的知识点。 `jQuery Migrate` 插件的主要目的是帮助开发者过渡到...

    jquery-migrate-3.0.0.js

    总之,jQuery Migrate 3.0.0是开发者在升级jQuery版本过程中的一把利器,它帮助我们解决了旧代码与新库之间的不兼容问题,同时也为我们提供了向更现代、更高效的编程实践迈进的指导。通过理解和善用Migrate,我们...

    jQuery-1.6.2.js+jQuery-1.4.2.js +笔记

    在学习笔记中,我们可以记录下这些实践经验,总结每个方法的用法和适用场景,对比不同版本间的差异,以及在实际项目中遇到的问题及解决方案。通过这种方式,不仅可以巩固理论知识,还能提高解决实际问题的能力。 ...

    解决其他js和jquery冲突方法

    解决其他js和jquery冲突方法 JS和jQuery是两个非常常用的JavaScript库,但是当它们一起使用时,可能会出现冲突。解决这种冲突的方法是使用noConflict()方法将变量$的控制权让渡给其他库。 在开发过程中,可能还会...

    jquery3.6.0.min.js+min.map.7z

    jQuery 3.6.0版本可能引入了新的特性和修复了一些已知问题。例如,可能会优化了某些函数的执行效率,提升了DOM操作的性能,或者解决了与最新浏览器兼容性的问题。为了了解具体的变化,开发者可以查阅官方的发布日志...

    jQuery-1.8.1.js jQuery-1.8.0 API

    **jQuery 1.8.1.js 与 jQuery 1.8.0 API** jQuery 是一个广泛使用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画和Ajax交互等任务。1.8.1.js 和 1.8.0 API 提供了关于这个版本的完整功能和接口文档,...

    Jquery.jqprint-0.3.js

    在升级jQuery库时,如果遇到兼容性问题,这个插件可以提供过渡支持。 总结起来,jQuery.jqprint-0.3.js是实现网页打印功能的一个强大工具,它通过与jQuery的无缝集成,使得开发者能轻松地定制打印内容和样式,提高...

    jQuery-photoClip-master 图片上传剪切

    `README.md`文件通常包含项目介绍、使用方法、安装步骤和可能遇到的问题等信息,对于开发者来说,这是理解并开始使用该项目的关键文档。 `img`目录可能包含了插件所需的图片资源,例如图标、占位符图像或者其他与...

    arch-03-12-YoxView相册使用 jQuery1.6.1 出现问题修复方法

    在IT行业中,尤其是在Web开发领域,我们经常遇到各种技术问题,比如在本例中的"arch-03-12-YoxView相册使用 jQuery1.6.1 出现问题修复方法"。YoxView是一款流行的JavaScript相册插件,而jQuery是一个广泛使用的...

    jquery-ui-1.9.2.(免费)

    在Stack Overflow等社区,你可以找到许多关于jQuery UI的问题和解决方案,加速你的开发进程。 总结来说,jQuery UI 1.9.2是JavaScript开发者构建交互式界面的得力工具。它提供了丰富的组件,易于定制,同时兼顾性能...

    ecshop和jquery冲突的解决方法

    在本篇文章中,我们将深入探讨如何有效解决ecshop与jQuery之间的冲突问题,并提供一系列实用的解决方案,帮助开发者更好地处理这两种技术共存时可能遇到的问题。 ### 一、Ecshop简介 Ecshop是一款开源的电子商务...

    jquery1.x升级到最新版3.6,兼容旧版插件.zip

    在进行jQuery版本升级时,特别是从1.x跳跃到3.x,可能会遇到兼容性问题,因为新版本中删除了一些过时的API和功能。此时,"jquery-migrate-3.3.2.js"就起到了关键作用。 "jquery-migrate-3.3.2.js"是jQuery官方提供...

    jquery-easyui-1.4-patch.js

    应用补丁的过程通常是这样的:首先,你需要将“jquery.easyui.patch.js”文件下载到你的项目中,并确保在页面中引入这个文件,通常是在引入jQuery和jQuery EasyUI之后。然后,当你初始化datagrid时,这个补丁就会...

Global site tag (gtag.js) - Google Analytics