js 为什么undefined + 1的结果是NAN

js 为什么undefined + 1的结果是NAN,求答案
在什么情况下会得到NAN,求指导

NaN在javascript中表示“非法数值”,但仍然是数值类型,typeof(a)返回number
undefined在javascript中表示“未定义”,将它强制转换成数值会返回NaN,所以undefined + 1也会返回NaN。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-05-12
NAN表示的是not a number
undefined+1你还想让他等于什么啊,加上去不是数字啊,当然显示NAN追问

undefined+1 他俩为什么能相加啊,我觉得他两相加不了,为什么不是undefined呢

追答

javascript 有种叫做类型转换的不知道你知不知道,相加操作的时候,会把值的类型进行转换
比如1+undefine undefine就会被转化为数字 NaN 1+NaN
如果 undefine+“123” 那么undefine就会被转化为字符串 “undefine” 输出结果就是undefine123

本回答被提问者采纳

js 为什么undefined + 1的结果是NAN
undefined在javascript中表示“未定义”,将它强制转换成数值会返回NaN,所以undefined + 1也会返回NaN。

一文让你彻底弄懂js中undefined和null的区别
undefined 和 null 在 JavaScript 中都是表示空值,但它们之间存在一些关键区别。undefined 表示变量未初始化或未赋值,而 null 则表示变量明确地没有指向任何对象。undefined 是全局对象的一个属性,而 null 是一个字面量。在类型判断方面,undefined 的 typeof 结果为 'undefined',而 null 的 typeof ...

JS类型转换
显示转换如Number(), parseInt(), 和String(),明确地将任意类型的值转换为特定类型。Number()严格,遇到无法转换的字符会返回NaN;parseInt()则较为宽松,遇到不能转换的字符会停止解析;String()则将所有值转化为字符串。这里有一个转换规则图,帮助理解它们的工作方式。隐式转换在运算符两边类型不同...

聊聊JS中的类型转换机制
parselnt()String()Boolean()Number()是强制把任意类型的值转换为数值,规则如下:undefined——NaN Null——0 true——1 false——0 Symbol——ThrowaTypeErrorexception Object——NaN String——NaN 特殊情况:\/\/在空字符串的时候是转为0的Number('');\/\/0Number('dswe3');\/\/NaN\/\/对象:通常转...

JS中undefined和null的区别
使用 undefined 时,不需要额外操作,只要未赋值就是 undefined。而使用 null 时,需要明确赋值为 null,以此构建一个空架子。在数据类型转换为数值时,两者表现出不同:null 转换为数值时为 0,而 undefined 转换后为 NaN。在实际应用中,两者用途不同:null 主要在需要空值或置空变量时手动赋值,也是...

JavaScript 中的 NaN
JavaScript数字类型集合包括“Not A Number”值。可以使用特殊表达式、全局对象或Number函数的属性访问它。尽管具有数字类型,但NaN不代表实数,用于表示错误的数字运算。例如,将数字与undefined相乘,结果为NaN。同样,解析无效数字字符串(如'Joker')也会导致NaN。检查是否为NaN 值得注意的是,NaN的特性之一...

js判断undefined类型,null, 的区别详细解析
应该使用:if (typeof(reValue) === "undefined") { alert("undefined");} 需要注意,undefined和null在JavaScript中是不同的:undefined表示未定义或未赋值的变量,而null则是一个特殊的对象。NaN(Not-a-Number)则是一个特殊的number类型,它不等于任何值,包括它自身。例如,比较运算如下:var a1...

关于js的undefined一个问题
undefined确实不是关键字, 而是全局对象上的一个属性(property), 它在ECMA-262第5版的时同NaN, Infinity被增加了只读属性 回到代码 第一段是因为此处的undefined是访问到全局对象(也就是window)的undefined属性, 它是只读的, 所以赋值操作不起作用(但并不意味着报错)第二段是因为此处undefined是一个...

JS扫盲:你不知道的isNaN
在JavaScript的世界里,理解isNaN() 函数的使用是基础中的基础。这个函数的主要作用是判断一个值是否为非数字(NaN,Not-a-Number)。让我们先看一些基本示例:你可能会疑惑,为什么 null 被判断为 false,而 undefined 为 true?这其实涉及到数据类型的区别。null 表示一个空对象指针,它不是一个数字...

javascript中的undefined和null有什么区别
\/\/undefinedconsole.log(typeof(null)); \/\/objectnull是一个具有有效不存在值的对象,并且它是不可变的,而undefined的对象类型是本身未定义的此外任何具有null值的算术运算都将产生整数值,而任何带有undefined的算术运算都会导致变量值变为NaN2、转换为原始类型的方式不同null和undefined之间的主要区别在于...

相似回答