浅谈javascript中的数据类型转换


Posted in Javascript onDecember 27, 2016

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

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

Javascript 相关文章推荐
Jquery实现控件的隐藏和显示实例
Feb 08 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
May 08 Javascript
使用jquery插件qrcode生成二维码
Oct 22 Javascript
快速学习jQuery插件 Cookie插件使用方法
Dec 01 Javascript
JavaScript中匿名函数的用法及优缺点详解
Jun 01 Javascript
微信小程序 欢迎界面开发的实例详解
Nov 30 Javascript
jQuery EasyUI Draggable拖动组件
Mar 01 Javascript
JavaScript简介_动力节点Java学院整理
Jun 26 Javascript
React+Redux实现简单的待办事项列表ToDoList
Sep 29 Javascript
VUE实现强制渲染,强制更新
Oct 29 Javascript
vue瀑布流组件实现上拉加载更多
Mar 10 Javascript
vue+element UI实现树形表格
Dec 29 Vue.js
微信小程序开发探究
Dec 27 #Javascript
javascript replace()第二个参数为函数时的参数用法
Dec 26 #Javascript
javascript prototype原型详解(比较基础)
Dec 26 #Javascript
如何提高数据访问速度
Dec 26 #Javascript
Angular的模块化(代码分享)
Dec 26 #Javascript
详解Angular的数据显示优化处理
Dec 26 #Javascript
easyui combotree加载静态数据问题(选不上)解决方法
Dec 26 #Javascript
You might like
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
优化PHP代码的53条建议
2008/03/27 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
AngularJS集合数据遍历显示的实例
2017/12/27 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python Trie树实现字典排序
2014/03/28 Python
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
python 网络爬虫初级实现代码
2016/02/27 Python
不可错过的十本Python好书
2017/07/06 Python
Flask框架各种常见装饰器示例
2018/07/17 Python
Python实现Dijkstra算法
2018/10/17 Python
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
pytorch简介
2020/11/11 Python
python opencv肤色检测的实现示例
2020/12/21 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
美国折扣网站:jClub
2017/08/07 全球购物
如何提高MySql的安全性
2014/06/19 面试题
信息与计算科学专业推荐信
2014/02/23 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python