全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

浅谈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和任何的值(包括自己)都不相等

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js  # 数据类型  # 转换  # JavaScript数据类型转换详解(推荐)  # JavaScript的数据类型转换原则(干货)  # javascript基本数据类型和转换  # 详解Javascript数据类型的转换规则  # JavaScript数据类型转换的注意事项  # JavaScript 基本数据类型转换你了解嘛  # 转换为  # 布尔  # 其他的  # 都是  # 都不  # 它是  # 的是  # 不成立  # 就不  # 仅仅是  # 先把  # 中不  # 这五  # 判断是否  # NaN  # px  # false  # br  # nbsp  # Number 


相关文章: 重庆市网站制作公司,重庆招聘网站哪个好?  制作门户网站的参考文献在哪,小说网站怎么建立?  如何零基础开发自助建站系统?完整教程解析  如何通过商城免费建站系统源码自定义网站主题?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  高性价比服务器租赁——企业级配置与24小时运维服务  如何快速完成中国万网建站详细流程?  青岛网站建设如何选择本地服务器?  建站之星代理商如何保障技术支持与售后服务?  如何做静态网页,sublimetext3.0制作静态网页?  如何在阿里云虚拟服务器快速搭建网站?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  如何在云服务器上快速搭建个人网站?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  建站之星2.7模板:企业网站建设与h5定制设计专题  如何选购建站域名与空间?自助平台全解析  如何选择高效便捷的WAP商城建站系统?  如何快速生成高效建站系统源代码?  建站OpenVZ教程与优化策略:配置指南与性能提升  北京网站制作的公司有哪些,北京白云观官方网站?  c++怎么用jemalloc c++替换默认内存分配器【性能】  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何在企业微信快速生成手机电脑官网?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何通过主机屋免费建站教程十分钟搭建网站?  如何在橙子建站中快速调整背景颜色?  建站VPS选购需注意哪些关键参数?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  如何通过远程VPS快速搭建个人网站?  安徽网站建设与外贸建站服务专业定制方案  网站制作软件免费下载安装,有哪些免费下载的软件网站?  视频网站制作教程,怎么样制作优酷网的小视频?  建站之星备案流程有哪些注意事项?  建站主机类型有哪些?如何正确选型  建站之星导航如何优化提升用户体验?  制作营销网站公司,淘特是干什么用的?  表情包在线制作网站免费,表情包怎么弄?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  如何在IIS中新建站点并解决端口绑定冲突?  建站之星3.0如何解决常见操作问题?  建站之星微信建站一键生成小程序+多端营销系统  建站之星安全性能如何?防护体系能否抵御黑客入侵?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  微信h5制作网站有哪些,免费微信H5页面制作工具? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。