你的写法“var i=10110;”是错误的,这样写是十进制数的表示方法。要在javascript中表示二进制数只能用字符串,要不然也不需要转换了。下面是完整的函数以及演示,保存为网页并打开看效果。可用windows带的计算器验证。
<script type="text/javascript">
var bin = "11010100001011";
function bin2dec(theBin)
{
var result = 0;
for (var i = 0; i < theBin.length; i ++)
result = (result << 1) + parseInt(theBin.charAt(i));
return result;
}
alert(bin2dec(bin));
</script>