浅谈javascript中的数据类型转换
1、把其他的数据类型转换为number类型
Number()->严格
parseFloat/parseInt ->非严格
isNaN(value) 如果value值不是数字类型的,它是调用Number转换为数字类型然后在判断是否为有效的数字
例如:
Number("12px"); ->NaN
parseInt("12px"); ->12
isNaN("12"); ->false
规律:
1)把布尔类型转换为数字的话 true->1 false->0
2)把null/undefined转换为数字 null->0 undefined->NaN 10+null=10 10+undefined=NaN
3)把[]转换为数字 调用数组的toString方法把[]->"",然后在使用Number方法把""->0
2、把其他的数据类型转换为布尔类型
Boolean
!!
! 先转换为布尔类型,然后在取反
例如:
!!1->true
!!0->false
![]->false !![]->true
规律:
只有0、NaN、null、undefined、""这五个转换为布尔类型的时候是false,其余的转换完成都是true
特殊情况:
如果你的条件判断中只是单独的一个值,它是把1转换布尔类型(->true),在判断是真还是假,如果是真条件成立,反之条件不成立
if (1) { } if ("3px" 3) {//->条件不成立 "3px" 3=NaN ->false } if ("3px" + 3) {//->条件成立 "3px" + 3="3px3" ->true }
"+"在JS中不仅仅是数学运算,遇到字符串的时候属于字符串拼接
"-、、/"在JS中只能是数学运算,遇到不是number类型的要强制转换为number进行数学性运算
3、两个值进行比较(==比较的,===比较数据类型不一样不会进行默认的转换),如果左右两边的数据类型不一样,我们需要遵循一套法则,进行默认的数据类型转换
value1==value2
1)对象==对象 比较的是自己存储的内存地址,如果内存地址不一样就不相等 []==[]->false 每一个空数组都是一个单独的内存地址
2)对象==字符串 调用toString方法,将对象转换为字符串 []==""->true
3)对象==布尔 对象转换为数字(toString-Number),布尔也转换为数字(true->1 false->0)
[]==false ->true []->0 false->0 0==0->true
![]==false -> ![]先把空数组转换为布尔类型然后在取反->false false==false->true
4)对象==数字 对象转换为数字 []==0->true []==1->false
5)字符串==布尔 两者都转换为数字 "3"==true->false "1"==true->true
6)字符串==数字 字符串转换为数字 ""==0->true
7)布尔==数字 布尔转换为数字 true==1->true true==2->false
8)null==undefined ->true null===undefined ->false
null/undefined和其他的任何值都不相等 null==0->false
9)NaN==NaN ->false NaN和任何的值(包括自己)都不相等
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望多多支持狼蚁SEO!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程