正在阅读道格拉斯·克罗克福德的代码here并看到一行
var value = +node.getValue();
但我在http://www.w3schools.com/js/js_operators.asp看不到任何与= +
对应的内容或+
可用作一元运算符的方式。那是什么意思呢?
答案 0 :(得分:7)
-
和+
运算符在JS中都是一元的,并且在强制值的符号之前,必须将值转换为数字。
显然-
会转换为数字并反转符号,但+
仅执行第一部分。正在运行+"100"
将返回号码100
。
此行为已明确说明in the spec at 11.4.6,其中定义了一元+
运算符:
一元+运算符将其操作数转换为数字类型。
答案 1 :(得分:0)
这只是确保变量是INT的快速方法,(相对于STR或BOOL,例如)。
答案 2 :(得分:0)
只是添加以下内容:
var a = +'4';
var b = '4';
console.log(typeof(a));//Number
console.log(typeof(b));//String