带字符串的左移数字
Left shift number with string
10000<<"5daz"
我在数字和字符串之间应用左移,结果是 10000,在 JavaScript 中如何解释?
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Variables</h1>
<p>In this example, x, y, and z are variables</p>
<p id="demo"></p>
<script>
var x = 5;
var y = 6;
var z = x + y;
var bvalue=true;
document.getElementById("demo").innerHTML = 10000<<"5daz";
</script>
</body>
</html>
Javascript 通常尝试将参数的类型解析为其运算符,以便它们"有意义"。 在这种情况下,它将String
转换为Uint32
,以便它可以执行左移。 当将String
转换为Uint32
时,它首先将其转换为Number
。 如果数字为 NaN
,则 UInt32 根据规范为 0。
10000<<"5daz"
与10000<<0
相同,10000
如需更多阅读,请参阅规范。
在其他操作中,NaN
的处理方式不同,这可能就是为什么这对<<
操作员来说让您感到惊讶的原因。 例如,加法将参数视为 Number
s,而不是 Uint32
。 出于这个原因10000 + "5daz" = NaN
而10000 << "5daz" = 10000
相关文章:
- Python左移(符号问题)
- 在 JavaScript 中算术左移 30 次
- JavaScript 零位左移和右移等效于 Python 中的
- 带字符串的左移数字
- 使用javascript从高度变量中移除第一个数字
- Javascript左移操作符是如何工作的
- 计算顺序规则左移Lsh"在Javascript
- 按位左移和右移计算在javascript
- 我试着把盒子从左移到右,然后再移回来,但它在几个周期后崩溃了
- Javascript中的左移计数为负
- 如何使用Plotly格式化数字并将小数点向左增加?
- 数组的下标是否被移到了正确的位置向左还是向右
- 排序——将数字和特殊字符移到末尾
- 如何从字符串序列明智地从左到右选择数字整数在javascript
- 左箭头和右箭头在移出图像时不会淡出
- 删除type="number"导致数字也被移除
- 只需要左箭头、右箭头和数字
- Javascript逐位左移的终结性问题
- 在 Clojure 中实现 JavaScript 的左移运算符
- 特定格式的正则表达式(左括号和右括号中包含的有效十进制数字)