浅谈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 相关文章推荐
html中的input标签的checked属性jquery判断代码
Sep 19 Javascript
url参数中有+、空格、=、%、&、#等特殊符号的问题解决
May 15 Javascript
jQuery实现瀑布流的取巧做法分享
Jan 12 Javascript
代码分析jQuery四种静态方法使用
Jul 23 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
Jul 08 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
May 10 Javascript
Angular.js中数组操作的方法教程
Jul 31 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
Mar 01 Javascript
详解ES6 系列之异步处理实战
Oct 26 Javascript
vue 移动端适配方案详解
Nov 15 Javascript
详解VUE前端按钮权限控制
Apr 26 Javascript
JS自定义滚动条效果
Mar 13 Javascript
微信小程序开发探究
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
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
PHP实现下载断点续传的方法
2014/11/12 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
js格式化货币数据实现代码
2013/09/04 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
跟老齐学Python之数据类型总结
2014/09/24 Python
python利用dir函数查看类中所有成员函数示例代码
2017/09/08 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
python 下载文件的几种方法汇总
2021/01/06 Python
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
瑞士图书网站:Weltbild.ch
2019/09/17 全球购物
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
2014年移动公司工作总结
2014/12/08 职场文书
国博复兴之路观后感
2015/06/02 职场文书
政协常委会议主持词
2015/07/03 职场文书
少先队中队工作总结
2015/08/14 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书