JavaScript 中的 ^(插入符号)符号有啥作用?

Posted

技术标签:

【中文标题】JavaScript 中的 ^(插入符号)符号有啥作用?【英文标题】:What does the ^ (caret) symbol do in JavaScript?JavaScript 中的 ^(插入符号)符号有什么作用? 【发布时间】:2011-04-06 19:25:42 【问题描述】:

我有一些 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 中是什么意思?

【问题讨论】:

【参考方案1】:

这是按位异或运算符。

【讨论】:

【参考方案2】:

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

var altura2 = Math.pow($('#ddl_altura').attr("value")/100, 2);

【讨论】:

在像 Javascript 这样的语言中,类型非常松散,几乎不存在,我几乎惊讶于竟然还有按位操作 :) 我知道 pow 函数(Loreal Web Master 似乎没有......)但我找不到 ^ javascript 运算符。感谢您的链接! 不错的收获!转发给我的西班牙朋友,他有点震惊。注意到例如 200 厘米/70 公斤如何为您提供无穷大的 BMI ;-) 要对一个值进行平方,将其乘以它自己。它在几乎所有平台上都更快、更准确。 在 ES7 中变得更容易:2**5 //32【参考方案3】:

表示按位异或运算符 通过插入符号( ^ ),当然,作品 直接在二进制形式上 数字。按位异或不同于 按位或,它只返回 1 当恰好一位的值为 1 时。

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

【讨论】:

【参考方案4】:

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

6 是二进制的1103 是二进制的011,并且

6 ^ 3,意思是110 XOR 011 给出 101 (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)))

【讨论】:

不知道对数事实!谢谢! (因此它可能也更快,不是吗?) 可能会更快(而数学处理器对于 double 简单操作非常快 - 日志可能会更慢,同时使用泰勒级数的优化)。 想知道为什么 Math.pow 不只使用 x*x 吗?! @Jowen for x² ... 但是如果您需要计算 x^2.123123 怎么办?【参考方案5】:

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

你有:

Decimal Binary   
0         0
1         01
2         10
3         11

现在我们想要3^2= 吗? 然后我们有11^10=?

11
10
---
01
---

所以11^10=01 十进制的011

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

【讨论】:

以上是关于JavaScript 中的 ^(插入符号)符号有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章

package.json 中的波浪号(~)和插入符号(^)有啥区别?

package.json 中的波浪号(~)和插入符号(^)有啥区别?

package.json 中的波浪号(~)和插入符号(^)有啥区别?

JavaScript 多行注释中的“@”符号有啥作用?

ES6 javascript 中的 at 符号 (@) 有啥作用? (ECMAScript 2015)

插入符号 (^) 运算符有啥作用?