zoukankan      html  css  js  c++  java
  • JavaScript中数据类型的转换

    JavaScript中数据类型的转换

    • if中的条件会被自动转为Boolean类型

        * 会被转为false的数据

        * 会被转为true的数据

    • 参与+运算都会被隐式的转为字符串

        * 会被转为空字符串的数据

        * 会被转为字符串的数据

        * 会被转为数据类型标记的数据

    • 参与*运算都会被隐式的转为数字

        * 会被转为0的数据

        * 会被转为1的数据

        * 会被转为NaN的数据

    • == 运算符

        * 为true的时候

        * 为false的时候

     

     

    1. if中的条件会被自动转为Boolean类型

    if(false) console.log(2333)

    if('') console.log(2333)

    if(null) console.log(2333)

    if(undefined) console.log(2333)

    if(NaN) console.log(2333)

    if('test') console.log(2333)  // 2333

    if([]) console.log(2333)  // 2333

    if({}) console.log(2333)  // 2333

    1. 参与+运算都会被隐式的转为字符串
      1. 转换为空字符串

    'str-' + ''  // str-

    'str-' + [] // str-

    b. 转成字符串的数据

    'str-' + '1'  // "str-1"

    'str-' + 1  // "str-1"

    'str-' + false  // "str-false"

    'str-' + true  // "str-true"

    'str-' + null  // "str-null"

    'str-' + undefined  // "str-undefined"

    'str-' + NaN  // "str-NaN"

    c.转成数据类型标记

    'str-' + {}  // "str-[object Object]"

    'str-' + {a:1}  // "str-[object Object]"

    1. 参与*运算都会被隐式的转为数字
      1. 会被转为0的数据

    3 * ''  // 0

    3 * []  // 0

    3 * false  // 0

    1. 会被转为1的数据

    2 * '1'  // 2

    2 * [1]  // 2

    2 * true  // 2

    1. 会被转为NaN的数据

    2 * {}  // NaN

    2 * {a:1}  // NaN

    4. == 运算符

    a.会被转为true

    0 == false  // true

    0 == ''  // true

    0 == '0'  // true

    0 == []  // true

    0 == [0]  // true

    1 == true  // true

    1 == '1'  // true

    1 == [1]  // true

    [1] == true  // true

    [] == false  // true

    b.会被转为false

    0 == {}  // false

    0 == null  // false

    0 == undefined  // false

    0 == NaN  // false

    1 == {}  // false

    1 == null  // false

    1 == undefined  // false

    1 == NaN  // false

    [] == []  // false

    [1] == [1]  // false

    [1] == {}  // false

    [1] == {a:1}  // false

    [1] == false  // false

    [1] == null  // false

    [1] == undefined  // false

    [1] == NaN  // false

    {} == {}  // false

    {a:1} == {a:1}  // false

    PS:空数组[],在+运算符下是转为空字符串'',在*运算符下是转为数字0。但在if语句中,则转为true

  • 相关阅读:
    适配器模式
    注册模式
    工厂模式
    策略模式和注入控制反转
    验签
    php中加密和解密
    asp.net textbox keyup事件触发后台的textchange事件
    jquery $.post 返回json数据
    网页播放音频、视频文件——基于web的html 5的音乐播放器(转载)
    c# 柱状图(转载)
  • 原文地址:https://www.cnblogs.com/wenaq/p/13568202.html
Copyright © 2011-2022 走看看