以下是一个不使用parseInt或toString函数的方法,将一个二进制字符串转换为数字的JavaScript函数示例:
function binaryToDecimal(binaryString) {
let decimal = 0;
let power = 0;
// 从字符串的最后一位开始遍历
for (let i = binaryString.length - 1; i >= 0; i--) {
// 如果当前位是 '1',则将对应的权重加到结果上
if (binaryString[i] === '1') {
decimal += Math.pow(2, power);
}
power++;
}
return decimal;
}
// 示例用法
console.log(binaryToDecimal("1101")); // 输出: 13
console.log(binaryToDecimal("10101")); // 输出: 21
这个函数接受一个二进制字符串作为参数,并使用一个循环来遍历字符串的每一位。对于每一位,如果是 '1',则将对应的权重(2的幂)加到结果上。最后将结果返回为十进制数。
请注意,这个函数没有对输入进行验证,所以假设输入是合法的二进制字符串。