美文网首页
数据类型与隐式类型转换

数据类型与隐式类型转换

作者: molly的红草帽 | 来源:发表于2018-08-22 09:48 被阅读0次
1、六大数据类型:

1、number 数值型
2、string 字符串
3、boolean 布尔值 true false
4、null 空
5、undefined 未定义
6、混合型

6.1 object对象 { }
6.2 数组 [ ]
6.3 函数 function

2、隐式转换:


1.运算符
    +,两边只要是字符就是拼接

    -, 只做算数运算
       数字-数字  算数运算
       数字-"数字" 转换后数字运算
       其他的都显示NaN

    ||,  左true  ||  任意  --》返回左边的值  
         左false  ||   任意   --》返回右边的值
        只要有一个是对的,就是对的; 左边是true,就直接返回左边的,如果不是再看右边的,
        右边的true,返回右边的;两边都是0,null,undefined,false,返回三位还是0,null,
        undefined,false
x
    &&,  左true  ||  任意  --》返回左边的值  
         左false  ||   任意   --》返回右边的值
        同理|| 两边都是对的才显示对的。左边为false,返回false;左边true,看右边,此时右边
        是决定因素,右边true,则整个判断true,右边false,则整个判断false。因此左边为
        true,右边是啥返回啥

    NaN和任何运算都是NaN,可是NaN干不过字符 NaN+"3"--->"NaN3"


2.if()内
    2.1  非0为true,0为false
    2.2  非空字符为true,空字符为false
    2.3  undefined为false
    2.4  所有对象(除了null)为true
    2.5  NaN为false
    2.6  null为false
3.false为0,true为1

undefined定义了,但是未赋值
not a defined未定义,报错

3、例子

    if(0){
        console.log("ok")
    }else{
        console.log("no")  //
    }

    if(""){
        console.log("ok")
    }else{
        console.log("no")  //
    }

    if(undefined){
        console.log("ok")
    }else{
        console.log("no") //
    }

    if({}){
        console.log("ok")  //
    }else{
        console.log("no")
    }
    
    if(NaN){
        console.log("ok")
    }else{
        console.log("no")  //
    }
    
    特殊的值
    console.log(typeof null)        //object
    if(null){
        console.log("ok")
    }else{
        console.log("no")  //
    }
    
    console.log(1+1);           //2
    console.log(1+"1");         //11
    console.log(1+false);       //1
    console.log(1+true);        //2
    console.log(true+false);    //1
    console.log("1"+true);      //1true
    console.log(NaN+"1");       //NaN1
    console.log(NaN+true);      //NaN
    console.log(undefined+1);   //NaN
    console.log(undefined+NaN); //NaN
    console.log(undefined+null);//NaN
    console.log(null+1);        //1
    
    var str;
    console.log(str)        //undefined
    console.log(str2)       //str2 is not a defined

相关文章

  • Java数据类型与运算符

    隐式转换 在这段代码中就发生了隐式数据类型转换,本来是byte数据类型的y因为与int x相加,byte被隐式提升...

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • 数据类型转换

    写在前面 C/C++编程中常见数据类型转换,包括隐式类型转换和显式类型转换。 1. 隐式类型转换 隐式类型转换在以...

  • C语言类型转换

    一、隐式类型转换 隐式类型转换是指系统自动将取值范围小的数据类型转换为数据取值范围大的数据类型,它是由系统自动转换...

  • Java Script 类型转换以及运算

    (一)类型转换 1、隐式转换 num 被隐式转换为true 2、显式转换 其他数据类型转(布尔类型)1、数字:0和...

  • JS深入浅出

    一、数据类型 1、六种原始数据类型 2、隐式转换 “+” 与 “-” “==”和"===""=="类型相同,同==...

  • Go语言学习笔记-基本程序结构-数据类型

    数据类型 Go语言不支持隐式数据类型转换 别名和原有类型也不能进行隐式类型转换 类型的预定义值 math.MaxI...

  • JS隐式数据类型转换

    隐式数据类型转换介绍 前面有总结过 JS数据类型转换 Number(), toString(), parseInt...

  • 【二】基本数据类型和Eclipse使用

    1.基本数据类型(4类8种) 2.强制类型转换 隐式转换隐式转换 显式转换显式转换 3.Eclipse使用介绍 E...

  • Java基础语法_数据类型转换

    数据类型转换 当数据类型不一样时,将会发生数据类型转换。 数据类型转换——自动转换(隐式) 特点:代码不需要进行特...

网友评论

      本文标题:数据类型与隐式类型转换

      本文链接:https://www.haomeiwen.com/subject/gbcabftx.html