什么意思是n = +数字|| 0

时间:2015-01-07 06:32:38

标签: javascript jquery

我在HighStock js中发现他们写了类似

的语法
n= +Number || 0
任何人都可以请expalin意味着什么意思?

由于

3 个答案:

答案 0 :(得分:4)

这是:

n= +Number || 0;

变量n将被赋予一个应为typeof == number的值。如果number是string,那么+number将是将字符串数值转换为数字的简写。

因此,如果值为"20",则为String值,如果您在其前面添加+符号,则它将转换为类似20的整数。

下面:

n= +Number || 0;
如果var Integer 0 /或undefined中没有值,则会分配

Number

var number = "20", nonumber;

var n = +number || 0;

$('p:eq(0)').text(n);

var o = +nonumber || 0;

$('p:eq(1)').text(o);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p></p>
<p></p>

答案 1 :(得分:2)

这意味着如果Number变量为not definedits not numeric,则将0分配给n变量。

实施例

Example 1>
var Number = 'test';
n= +Number || 0;

O/P:
n = 0
--------------------------------------------
Example 2>
var Number = 2;
n= +Number || 0;

O/P:
n = 2
--------------------------------------------
Example 3>
n= +Number || 0;

O/P:
n = 0

答案 2 :(得分:1)

基本上,当你在变量之前有+-时(即+Number),变量会被转换为类型 number 。因此要么成功,要么数字是输出,要么转换失败并返回NaN N ot a N 红棕色)。

由于在大多数浏览器中Number引用了 number 类型的对象构造函数,因此未定义将其转换为数值,因此结果为{{1 JavaScript,它解释为false值。因此:

NaN

除非已在本地定义了数字并且是一个数字(或者可以将其转换为数字)。

以下描述了每种类型如何被转换为数字:

+Number || 0 == NaN || 0 == 0