函数如果没有return语句,则默认return undefined

发布时间 2023-11-09 09:43:43作者: 龙陌

函数如果没有return语句,则默认return undefined

考点:undefined隐式转换成Number类型值是啥

1)Number(undefined) 结果是NaN,所以NaN+1 = NaN

2)Number(null) 结果是0

3)Number('a')结果是NaN

  1. Number('')结果是0

  2. Number(true)结果是1

  3. Number(false)结果是0

  4. Number([])结果是0

  5. Number({})结果是NaN

NaN在javascript中为“非法数值”,但数据类型依旧是数值类型,typeof(NAN)返回number。
undefined在javascript中为“未定义”,强制转换为数值类型会返回NaN,所以undefined + 1会返回NaN

一元+操作符相当于Number()函数,会将undefined转化为数字,如果转化不了,那么就是NAN,所以会变为NAN+1 == NAN;结果就是NAN

这是其他一道题目的分析,大家可以结合来学习。
console.log(1+ "2"+"2"); //对于加法来说,如果只有一个操作数是字符串,则将另一个操作数也转换为字符串,然后将两者拼接,为122

console.log(1+ +"2"+"2"); //(+"2")应用了一元加操作符,一元加操作符相当于Number()函数,会将 (+"2")转换为2,1+2+"2"=32

console.log("A"- "B"+"2"); //在减法中遇到字符串和加法相反,调用Number()函数将字符串转换为数字,不能转换则返回NaN,此时运用加法规则,NaN+"2","2"是字符串,则将两者拼接。
console.log("A"- "B"+2); //这个与上面的不太相同,减法运算后依然为NaN,但是加号后面的为数字2,加法规则中,如果有一个操作数是NaN,则结果为NaN