测试一下不就知道了。。不过这三个方法没有可比性,parseFloat与*1的方法实现的是同样的功能,跟parseInt就实现的功能就不一样的,没有可比性。//建立测试数据 var ar = []; for (var i = 0; i < 999999; i ++) ar.push(i.toString());var dStart, dEnd, result = [];//parseInt()方法 dStart = new Date(); for (var i = 0; i < ar.length; i ++) ar[i] = parseInt(ar[i]); dEnd = new Date(); result.push(dEnd.getTime() - dStart.getTime());//parseFloat()方法 dStart = new Date(); for (var i = 0; i < ar.length; i ++) ar[i] = parseFloat(ar[i]); dEnd = new Date(); result.push(dEnd.getTime() - dStart.getTime());//*1方法 dStart = new Date(); for (var i = 0; i < ar.length; i ++) ar[i] *= 1; dEnd = new Date(); result.push(dEnd.getTime() - dStart.getTime());document.write('<p>parseInt方法耗时:' + result[0] + 'ms<br />parseFloat方法耗时:' + result[1] + 'ms<br />乘1方法耗时:' + result[2] + 'ms');
z=+a+1;
alert(z);
可以这样试试 效率就不知道了
z=a+1 会变成1231z = parseInt(a) + 1用parseInt
var ar = [];
for (var i = 0; i < 999999; i ++) ar.push(i.toString());var dStart, dEnd, result = [];//parseInt()方法
dStart = new Date();
for (var i = 0; i < ar.length; i ++) ar[i] = parseInt(ar[i]);
dEnd = new Date();
result.push(dEnd.getTime() - dStart.getTime());//parseFloat()方法
dStart = new Date();
for (var i = 0; i < ar.length; i ++) ar[i] = parseFloat(ar[i]);
dEnd = new Date();
result.push(dEnd.getTime() - dStart.getTime());//*1方法
dStart = new Date();
for (var i = 0; i < ar.length; i ++) ar[i] *= 1;
dEnd = new Date();
result.push(dEnd.getTime() - dStart.getTime());document.write('<p>parseInt方法耗时:' + result[0] + 'ms<br />parseFloat方法耗时:' + result[1] + 'ms<br />乘1方法耗时:' + result[2] + 'ms');
var z=(a-0)+1; //z=1235
这种方法比较简单