^(脱字符号)在 JavaScript 中有什么作用?

IT技术 javascript math operators
2021-02-06 17:35:20

我有一些 JavaScript 代码:

<script type="text/javascript">
$(document).ready(function(){
  $('#calcular').click(function() {
    var altura2 = ((($('#ddl_altura').attr("value"))/100)^2);
    var peso = $('#ddl_peso').attr("value");
    var resultado = Math.round(parseFloat(peso / altura2)*100)/100;
    if (resultado > 0) {
      $('#resultado').html(resultado);
      $('#imc').show();
    };
  });
});
</script>

^JavaScript中的(插入符号)符号是什么意思?

5个回答

^操作是按位异或运算符。要平方一个值,请使用Math.pow

var altura2 = Math.pow($('#ddl_altura').attr("value")/100, 2);
要平方一个值,请将其乘以自身。它在几乎所有平台上都更快、更准确。
2021-03-14 17:35:20
不错的收获!转发给我的西班牙朋友,他有点震惊。注意到例如 200 厘米/70 公斤如何为您提供无穷大的 BMI ;-)
2021-03-17 17:35:20
我知道 pow 函数(Loreal Web Master 似乎没有...)但我找不到 ^ 用于 javascript 的运算符。感谢您的链接!
2021-03-19 17:35:20
在像 Javascript 这样的语言中,类型如此松散以至于几乎不存在,我几乎惊讶于甚至有按位运算:)
2021-04-01 17:35:20
在 ES7 中变得更容易: 2**5 //32
2021-04-03 17:35:20

^ 正在执行异或(XOR),例如

6110二进制的,3011二进制的,并且

6 ^ 3, 意思是110 XOR 011101 (5)。

  110   since 0 ^ 0 => 0
  011         0 ^ 1 => 1
  ---         1 ^ 0 => 1
  101         1 ^ 1 => 0

Math.pow(x,2) 计算但对于平方你更好地使用,x*x因为 Math.pow 使用对数并且你得到更多的近似误差。( x² ~ exp(2.log(x)))

不知道对数事实!谢谢!(因此它可能也更快,不是吗?)
2021-03-14 17:35:20
@Jowen for x² ...但是如果您需要计算 x^2.123123 怎么办?
2021-03-21 17:35:20
可能会更快(虽然数学处理器对于double简单操作来说非常快- log 可能会更慢,同时使用泰勒级数的优化)。
2021-04-07 17:35:20
想知道为什么 Math.pow 不只是使用 x*x ?!
2021-04-09 17:35:20

这是按位异或运算符。

它称为按位异或。让我解释一下:

你有 :

Decimal Binary   
0         0
1         01
2         10
3         11

现在我们想要3^2=那么我们有11^10=?

11
10
---
01
---

所以11^10=01 01十进制是1.

所以我们可以说 3^2=1;

按位异或运算符由插入符号 ( ^ ) 表示,当然,它直接作用于数字的二进制形式。按位异或与按位或的不同之处在于,它仅在恰好一位值为 1 时才返回 1。

来源:http : //www.java-samples.com/showtutorial.php? tutorialid= 820