nanundefined在线翻译 js中为什么isNaN(undefined) 为true?

js中为什么isNaN(undefined) 为true?IsNaN(x)函数用于检查其参数是否为非数值。如果x是一个特殊的非数字值Nan(或可以转换成这样的值),则返回的值为真。如果x是另一个值,则

js中为什么isNaN(undefined) 为true?

IsNaN(x)函数用于检查其参数是否为非数值。

如果x是一个特殊的非数字值Nan(或可以转换成这样的值),则返回的值为真。如果x是另一个值,则返回false。

为什么undefined,NaN和Infinity可以被赋值,而null不可以?

在JavaScript中,

未定义、Nan和无穷大是全局对象窗口的属性。所以它们可以被赋值,但是由于它们的内部属性[[writable

为false,赋值实际上是无效的。认证:

Object.getOwnPropertyDescriptor(window,“undefined”)//result://object{value:undefined,writeable:false,enumerable:false,configurable:false}

可以看出undefined确实是window的一个属性,不能写入。

Null与true和false一样,是一个文字量和JavaScript的保留字。换句话说,它们类似于123和“foobar”,不能赋值。