hi,欢迎访问本站!
当前位置: 首页学习笔记正文

关于javascript与java自动转换的差异性--Char和String转为Number

用户投稿 学习笔记 172阅读

在java中所谓自动转换就是小范围与大范围进行运算时会自动向大范围进行转换类型,精度弱的会向精度强的自动转换,比如

char a='1';System.out.println(a+1);//结果是50

上面中的a是Char类型对应ASCII中就是所谓的49,先转成ASCII中所对应的数字然后在进行运算 上面中char类型就是2个字节当其与4个字节的int类型的0进行加法是就会进行自动转换 当是String,布尔不能进行算术运算哦!!!

但在javascript中可不是这种自动转换过程,比如

let a='5' //当进行运算时所转为的类型必须是可转成数字型的,就是所谓的数字型字符,数字型字符串let b=a-1console.log(b)//4 b=a+1console.log(b) //51

第一个b为4,第二个b为51 有个重要的点就是写成字符或字符串的数据必须是数字型字符,数字型字符串 在javascript中,不管是Char,String当期遇见算术运算符时(+号例外)都会进行转为Number,如果是+就会当作拼接字符串,当然遇见false,null进行算术运算时(+号除外)会进行自动转换只是它们作为0而已,但是undefined(未定义,它连啥类型都不知道)其运算就是NAN,还有一个基本数据类型Symbol如果进行算术运算会报错 在前端混了比较长时间,都会忘了自己原来是java后端的记录一下

标签:
声明:无特别说明,转载请标明本文来源!
发布评论
正文 取消