zoukankan      html  css  js  c++  java
  • JS基础数据类型转换( 2 )

    ###数据类型转换
    (一)强制转换(显示转换)
    ( 1 )parseInt( );转换为整数


    let str = "123.123.123";
    let num = parseInt(str);
    console.log(num);

    parseFloat( );转换为浮点小数

    let str = "123.123.123";
    let num = parseFloat(str);
    console.log(num);

    规则:从左到右从第一个数开始确定是否是数字,如果不是就直接转换结束(只看部分)


    Number();将任意类转换为数字类型
    规则:
    1 ) 布尔值  true:1  flase :0 ;
    2 )undefined : NaN ;
    3 )unll : 0 ;
    4 ) 字符串(string ) : 空字符串 (“ ”): 0 ;
    规则:看整体 比如123abc,就直接转换为NaN ;

    ( 2 ) 强制转换为字符串
    String () ;输出结果直接加引号,任何人类型都可以转换

    let a = 123 ;
    String(a);
    console.log( String(a));

    toString () ;输出结果直接加引号,不能转换undefined 和null ,其他的都可以

    let a = 123 ;
    let str = a.toString();
    console.log( toString(str));

    ( 3 ) 强制转换为布尔
    Boolean( ) ;
    转换规则:false  " "(空字符串)   0   NaN   null  undefined 结果为false , 其他结果全部都为 true

    console.log( Boolean(" "));
    二  自动转换 (隐式转换)
    ( 1 )isNaN ( ) ; 在判断为非数字之前,自动调用Number( );方法将数据转换

    console.log(isNaN (true));  结果为false,因为true用数字转换为1

    ( 2 )++   --  :在加(减)之前,自动调用Number( );方法将数据转换


    let a = "2px";
    a -- ;
    console.log(a, typeof a );  结果NaN  number
    ####将其他类型转换为数字类型,且值不变

    let a = "200" ;
    a = a - 0;
    console.log(a, typeof a );  结果200  number
    ( 3 )+  :只要有一个字符串就做拼接,自动调用String( );  当没有字符串时,其他数据调用Number( );转换为数字进行运算

    ####若想让一个类型变为字符串,直接在后面拼接一个空字符串

    let a = 1 ;
    let b = true ;
    console.log(typeof (true+ " ")) ;
    ( 4 )逻辑运算(也叫短路运算)

    console.log(typeof (0||2||3) ;  结果为2

    或 ||  主要是找真的(true)调用Boolean( ); 自动转换,找到true 就停止寻找 ,如果没有true ,则输出最后一个
    与 && 主要是找假的(false)   同或规则相同
    非 !   同或规则相同

    console.log(! " ") ; 结果为true 
    ( 5 )比较大小时,将其转换为Number( );再进行比较

    console.log("ba">"bb");
    ask:每个字母都有一个大小值,越靠前越小,小写大于大写
    ###二 条件判断语句

    ( 1 )if

    if(判断条件){            (一定是boolean值,如果不是会按Boolean() ;转换
    条件为真时,执行的代码
    }
    let num = 5;
    if(num>20){
    consile.log("进入if");
    }
    consile.log("hello");

    ( 2 )if   .....else

    if(判断条件){            (一定是boolean值,如果不是会按Boolean() ;转换
    条件为真时,执行的代码
    } else{
    条件为真时,执行的代码
    }
    let score = 65 ;
    if(score>=60){           
    consile.log("及格");

    } else{
    consile.log("不及格");
    }


    ( 3 )if ....else if    只要有一个成立,后面就不会运行了,只执行一个

    if(判断条件1){            (一定是boolean值,如果不是会按Boolean() ;转换
    条件为真时,执行的代码
    } else if(判断条件2){
    条件为真时,执行的代码
    } else if(判断条件3){
    条件为真时,执行的代码
    }
    .....可以有多个else if
    let num = 0;

    if(num > 1){
        console.log('进入第一个代码块');
    } else if(num > 3){
        console.log('进入第二个代码块');
    } else if(num > 10){
        console.log('进入第三个代码块');
    } else {
        console.log('前面所有条件都为假');
    }


    ( 4 )switch   那表达式1同表达式2,3....依次比较(严格等)相等后,会执行其表达式后面的语句,以及后面的全部语句,所以会在每个表达式后面加break;(酌情而定)


    swicth (表达式1) {
        case 表达式2:语句1  (都是默认为字符串,如果类型不符,需要转换)
        break;
        case 表达式3:语句2
        break;
        case 表达式4:语句3
        break;
        case 表达式5:语句4
        break;
        ....
        default:语句5
    }


    let a = '1';
    switch (a) {
        case 1: {
            console.log('a等于1');
            console.log('a等于1');
            console.log('a等于1');
            console.log('a等于1');
            console.log('a等于1');
            break;
        }
        case 2:
            console.log('a等于2');
            break;
        case 'hello':
            console.log('a等于hello');
            break;
        default:
            console.log('前面所有的case都不匹配');
    }


      
      
     





  • 相关阅读:
    java 编程语言基础 第一章 自我介绍
    Spring详解(四)------注解配置IOC、DI
    Spring详解(三)------DI依赖注入
    Spring详解(一)------概述
    mybatis 详解(十一)------ mybatis和spring整合
    mybatis 详解(十)------ 逆向工程
    mybatis 详解(九)------ 一级缓存、二级缓存
    mybatis 详解(八)------ 懒加载
    mybatis 详解(七)------一对一、一对多、多对多
    06-单例模式
  • 原文地址:https://www.cnblogs.com/fen0309/p/9351992.html
Copyright © 2011-2022 走看看