面试题答案
一键面试- 实际情况分析:
- JavaScript 本身不支持运算符重载。但我们可以通过定义函数来模拟自定义运算符的行为。
- 实现自定义运算符的模拟思路:
- 定义一个函数,函数接收两个参数,在函数内部实现按位与后再取反的逻辑。
- 示例代码如下:
function customOperator(a, b) {
return ~(a & b);
}
- 使用示例及运算结果:
- 假设我们有两个数字
5
和3
。 5
的二进制表示是0101
,3
的二进制表示是0011
。- 按位与
5 & 3
结果的二进制是0001
(十进制为1
)。 - 再取反
~1
,结果为-2
(因为1
的二进制是00000001
,取反后为11111110
,在有符号整数中表示-2
)。 - 使用自定义函数的代码及结果如下:
- 假设我们有两个数字
let result = customOperator(5, 3);
console.log(result);
// 输出: -2