zoukankan      html  css  js  c++  java
  • javaScript隐式数据类型转换

    javaScript隐式数据类型转换:各种类型在适当的场合会发生隐式转换,主要是运算和条件判断过程中。

    运算(+,-,*,/,%) 判断(>,<,<=,>=,,=)

    相同数据类型之间运算

    Number运算按数学运算进行,需要注意的是在进行小数运算时可能会不准确。结果一定为Number类型。

    Number判断按照数学判断进行 结果为Boolean类型的true或false。

    String运算两边转化为数字进行运算普通字符串转化为Number类型的NaN进行运算,数字型字符串转化为数字例如:"123"转化为Number类型123.所有的东西和NaN进行算术运算都是NaN。还有最特殊的一点就是+,字符串进行加法运算时两边不会转化为数字,直接进行字符串拼接。结果为Number类型或字符串。

    String比较的时候比较的是字符的Unicode码,不会转化数字进行比较 结果为Boolean类型的true或fals;

    Boolean运算的时候转化为数字,true转化为1,false转化为0,0/0,0%0 1%0结果为NaN,1/0结果为Infinity;

    Boolean比较的时候转化为数字,true转化为1,false转化为0,==并不会转化为数字。

    undefined 运算的时候转化为数字NaN 所以所有结果均为NaN。

    undefined 比较的时候不需要转化。undefined >=undefined 结果为false undefined <=undefined 结果为false undefined ==undefined 结果为true

    null 运算的时候转化为数字0 + -* 都为0 。 0/0,0%0 结果为NaN

    null 比较的时候转化为数字0比较

    总结:

    比较的时候:先看两的边是不是同种数据类型,如果是直接看是不是一样就完了,如果不是那么两边都转数字。看是不是两边都是字符串 如果是 比较的是字符串的Unicode码

    当遇到null的时候;会有特殊情况发生,

    特殊情况:空串和null不相等
    特殊情况:false和null不相等
    特殊情况: 0和null不相等
    特殊情况:undefined 和 null 相等;
    先看是不是 + 如果是+ 看有没有字符串,如果有 就是拼接字符串

  • 相关阅读:
    三种钱是花的越多,赚的越多
    程序员除去繁华,你的匠心何在?
    科目三考试
    药房托管
    文章标题
    【cocos2d-x 3.7 飞机大战】 决战南海I (八) 背景移动
    Android开发时经经常使用的LogUtil
    仿支付宝/微信的password输入框效果GridPasswordView解析
    hdoj 1518 Square 【dfs】
    mysql配置文件夹错误:在安装mysql 5.6.19 时运行cmake命令是出现CMake Error: The source directory does not appear to contai
  • 原文地址:https://www.cnblogs.com/superan/p/12088298.html
Copyright © 2011-2022 走看看