最近在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会自动把它转化为数值。
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月前
|
JavaScript 前端开发 Java
springboot从控制器请求至页面时js失效的解决方法
springboot从控制器请求至页面时js失效的解决方法
15 0
springboot从控制器请求至页面时js失效的解决方法
|
1月前
|
开发框架 前端开发 JavaScript
使用JavaScript、jQuery和Bootstrap构建待办事项应用
使用JavaScript、jQuery和Bootstrap构建待办事项应用
13 0
|
1月前
|
JavaScript 前端开发
springboot+layui从控制器请求至页面时js失效的解决方法
springboot+layui从控制器请求至页面时js失效的解决方法
15 0
|
12天前
|
JavaScript 前端开发
JQuery和JS的区别有哪些?
JQuery和JS的区别有哪些?
12 0
|
1月前
|
JavaScript
jQuery选择器案例之——index.js
jQuery选择器案例之——index.js
8 0
|
3月前
|
XML JavaScript 前端开发
JavaScript学习 -- jQuery库
JavaScript学习 -- jQuery库
29 0
|
3月前
|
JavaScript
jQuery事件2-第6次课-给未来的元素绑事件-事件对象-JS盒模型-附案例、任务
jQuery事件2-第6次课-给未来的元素绑事件-事件对象-JS盒模型-附案例、任务
39 0
|
3月前
|
JavaScript 前端开发
jQuery事件1-第5次课-JQ的事件跟JS一样的作用,只是写法不一样-附案例、任务
jQuery事件1-第5次课-JQ的事件跟JS一样的作用,只是写法不一样-附案例、任务
39 0
|
3月前
|
JavaScript 前端开发 API
jquery是什么-是否还有必要学-与JS的区别-学习技巧-文末附资料、案例、作业
jquery是什么-是否还有必要学-与JS的区别-学习技巧-文末附资料、案例、作业
40 0
|
3月前
|
JavaScript 前端开发
原生js与jQuery显示隐藏div的几种方法
原生js与jQuery显示隐藏div的几种方法
38 0