я нашел в HighStock JS они пишут синтаксис какЧто означает n = + Number || 0
n= +Number || 0
может кто-нибудь, пожалуйста, expalin означает, что это значит?
Благодаря
я нашел в HighStock JS они пишут синтаксис какЧто означает n = + Number || 0
n= +Number || 0
может кто-нибудь, пожалуйста, expalin означает, что это значит?
Благодаря
Это:
n= +Number || 0;
переменная n
будет присвоено значение, которое должно быть typeof == number
. Если number является строкой, то +number
будет сокращением для преобразования значений числа строк в число.
Таким образом, если значение имеет значение "20"
, то его значение строки и если вы его префикс +
, то оно будет преобразовано в целое число, такое как 20
.
Здесь:
n= +Number || 0;
Integer 0
будет назначена, если нет значения в вар 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>
Унарный '+' не преобразуется в целое число. – user2864740
@ пользователь2864740 не может вас достать. – Jai
Пример: '+ '1.23'' Унарный плюс на строках является« своего рода »вроде' parseFloat', но он отличается. – user2864740
Это означает, что если Number
переменная not defined
или its 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
Так, по существу, когда у вас есть либо +
или -
перед переменной (то есть. +Number
), переменная получает приведение к типу номер. Таким образом, либо это успешно, либо число является результатом, либо литье заканчивается, и возвращается NaN
(N от aN umber).
Поскольку в большинстве браузеров Number
относится к конструктору объекта для типа числа, то отливка из него в числовое значение не определено, и, таким образом, результат NaN
, который JavaScript интерпретирует как ложное значение. Поэтому:
+Number || 0 == NaN || 0 == 0
Если номер не определен локально и является номером (или может быть помещен в число).
Ниже описывается, как каждый тип получает отлиты в номер:
// Strings
+"1.12345" = 1.12345
parseFloat("1.12345") // Equivalent to
// Boolean
+True = 1
+False = 0
Number(True) // Equivalent
// Array
+[1] = NaN
// Casting fails
// Object
+{1:1} = NaN
// Casting Fails
// Undefined
+undefined = NaN
// Casting Fails
// Null
+null = 0
Number(null) // Equivalent
// Hex encoded number
+0x00FF = 255
parseInt("0x00FF", 16) // Equivalent
// Function
+function(){} = NaN
// Casting Fails
http://stackoverflow.com/questions/5450076/whats-the-significant-use-of-unary-plus-and- минус-операторы – chiliNUT