renovation

This commit is contained in:
Ilya Kantor 2015-03-21 13:20:51 +03:00
parent 087875b29b
commit 0712ddc698
3 changed files with 31 additions and 9 deletions

View file

@ -101,16 +101,17 @@ if (NaN === NaN) alert( "===" ); // не сработает
```
</li>
<li>Значение `NaN` можно проверить специальной функцией `isNaN(n)`, которая возвращает `true` если аргумент -- `NaN` и `false` для любого другого значения.
<li>Значение `NaN` можно проверить специальной функцией `isNaN(n)`, которая преобразует аргумент к числу и возвращает `true`, если получилось `NaN`, и `false` -- для любого другого значения.
```js
//+ run
var n = 0 / 0;
alert( isNaN(n) ); // true
alert( isNaN("12") ); // false, строка преобразовалась к обычному числу 12
```
[smart]
[smart header="Забавный способ проверки на `NaN`"]
Отсюда вытекает забавный способ проверки значения на `NaN`: можно проверить значение на равенство самому себе, если не равно -- то `NaN`:
```js
@ -122,6 +123,7 @@ if (n !== n) alert( 'n = NaN!' );
Это работает, но для наглядности лучше использовать `isNaN(n)`.
[/smart]
</li>
<li>Значение `NaN` "прилипчиво". Любая операция с `NaN` возвращает `NaN`.