首页 > 其他分享 >函数如果没有return语句,则默认return undefined

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

时间:2023-11-08 15:12:02浏览次数:64  
标签:语句 return undefined 结果 NAN NaN Number

函数如果没有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

标签:语句,return,undefined,结果,NAN,NaN,Number
From: https://www.cnblogs.com/longmo666/p/17817448.html

相关文章

  • undefined reference to `add(int, int)'
    一、概述使用cmake编译C++项目报undefinedreferenceto`add(int,int)'项目中有.cpp文件,有.h文件,有.c文件。也就是c和c++混编。其中.cpp文件引用了.c的头文件现象: 从上面可以看出其实这几个.cpp和.c文件都已经编译过了。但是就会提示找不到.c文件中的......
  • mysql测试语句创建写入存储过程调用8.0
    --创建表格 CREATETABLEmy_table(idINTAUTO_INCREMENT,nameVARCHAR(255)CHARACTERSETutf8mb4COLLATEutf8mb4_0900_ai_ci,emailVARCHAR(255)CHARACTERSETutf8mb4COLLATEutf8mb4_0900_ai_ci,passwordVARCHAR(255)CHARACTERSETutf8mb4COLL......
  • 一个函数应该只有一个返回语句吗?
    内容来自DOChttps://q.houxu6.top/?s=一个函数应该只有一个返回语句吗?一个函数最好只包含一个返回语句的原因是什么?还是说,只要在逻辑上正确就可以从函数中返回,也就是说,函数中可能包含多个返回语句也是可以的?我经常在方法的开头使用多个语句来返回以处理“简单”的情况。例......
  • 实例说明SQL语句用一张表更新另一张表
    在某公司的客户访问信息记录中,有用户信息表users和访问记录表visit,在访问记录表中,会记录时间和访客,访客名和电话信息是从users表中读取。但是后来发现,由于users表中的客户电话号码总是会有变化,所以做了一个修改:在visit表中利用users的数据记录当时的电话号码。示例数据表  ......
  • SQLserver、MYSQL、Oracle复制表结构和数据语句
    1.SQLserver语法select*into新表名from旧表名;2.mysql语法CREATETABLE新表名SELECT*FROM旧表;Oracle语法CREATETABLE新表ASSELECT*FROM旧表;......
  • Oracle创建表语句(Create table)语法详解及示例
     创建表(Createtable)语法详解1. ORACLE常用的字段类型ORACLE常用的字段类型有VARCHAR2(size)可变长度的字符串,必须规定长度CHAR(size)固定长度的字符串,不规定长度默认值为1NUMBER(p,s)数字型p是位数总长度,s是小数的长度,可存负数最长38位.不够位时会四舍五入.......
  • 一次插入多条记录的SQL语句
    在使用SQL数据库的时候,我们也许会需要一次像数据库中添加多条记录,那么我们可以使用SQL语句来实现,该语句具体如下:--添加一条记录    INSERTINTOtableName(col1,col2,col3)VALUES(1,2,3)       --添加多条记录    INSERTINTOtableName(col1,col2,col3)    S......
  • (七)C#编程基础复习——Switch语句
    switch语句有点类似ifelseif语句,都可以根据表达式执行某个语句块,使用之前要遵循以下几个条件:switch语句中表达式的值必须是一个整型或者枚举类型;在一个switch语句中可以有任意数量的case雨具,每个case关键字后面要跟一个表达式比较的值和一个冒号;case关键字后面的值必须与swi......
  • (六)C#编程基础复习——条件判断语句
    在C#中,if语句主要用于条件判断,C#中支持多种类型的if语句:if语句;ifelse语句;ifelseif语句;一、if语句if语句用于条件判断,其中包含一个布尔表达式,后面跟随着若干要执行的代码,当布尔表达式为真时,后面跟随的代码就会执行,如代码所示:intnum=12;if(num%2==0){C......
  • (五)Robot Framework之If语句
    If语句1.runkeywordif表达式 命令 命令的参数1 参数2...表达式可以用0<=s变量名<60的形式2.${变量名} runkevwordif 表达式1 setvariable 值1 ELSEIF表达式2 setvariable 值2... ELSE setvariable 值nELSEIF需要大写,中间有空格。语句写在......