<?php
$nan = (-1e300*1e300)/(1e300*1e300); // float(NAN)
var_dump($nan);
var_dump($nan == $nan);
var_dump($nan === $nan);
// output:
float(NAN)
bool(false)
bool(false)原以为会是 bool(true) 为什么会这样?
$nan = (-1e300*1e300)/(1e300*1e300); // float(NAN)
var_dump($nan);
var_dump($nan == $nan);
var_dump($nan === $nan);
// output:
float(NAN)
bool(false)
bool(false)原以为会是 bool(true) 为什么会这样?
一、什么是NaN
NaN在网上定义为:NaN属性用于引用特殊的非数字值。我的理解就是,原来不是number类型的数据,经过某些运算后,变成了number类型,这时候,这个数据就成了NaN类型。二、说明
无法使用for/in循环来枚举NaN属性,也不能用delete运算符来删除它。
NaN不是常量,可以把它设置为其他值。
请使用isNaN()来判断一个值是否是数字,原因是NaN与所有值都不相等,包括它自己。