Javascript中的分工和权力

时间:2015-03-15 19:10:15

标签: javascript

我有以下代码将变量除以100并为其供电。

  var a = 1;

  var b = (a / 100) ^ 2;

'b'中的值变为2,应该是0.01 ^ 2 = 0.0001。

为什么?

3 个答案:

答案 0 :(得分:6)

^不是指数运算符。它是按位XOR运算符。要对数字应用权限,请使用Math.pow()

var b = Math.pow(a / 100, 2);

关于为什么在使用2时得到^的结果,按位运算符会比较两个数字的各个位以产生结果。这首先涉及通过删除小数部分将两个操作数转换为整数。将0.01转换为整数会产生0,因此您得到:

00000000 XOR 00000010   (0 ^ 2)
00000010                (2)

答案 1 :(得分:1)

试试这个:

2 ^ 10

它会为您提供8。这很容易解释:JS没有幂运算符,只有XOR:MDN

您正在寻找Math.powMDN

答案 2 :(得分:0)

javascript中的power是使用Math.pow(x,y)函数创建的,而不是在它们之间输入。

http://www.w3schools.com/jsref/jsref_pow.asp