美文网首页
07-第七章 运算符 类型转换

07-第七章 运算符 类型转换

作者: 晚溪呀 | 来源:发表于2018-11-30 01:24 被阅读0次

    判断一个数是不是整数 是整数返回true 不是返回 false

    Number.isInteger(value); /'ɪntɪdʒə/ 整数

    该toFixed()方法使用定点表示法格式化数字

    numObj.toFixed(需要保留的小数位数);
    括号里面不写参数,会将其视为0
    返回的值是的数据类型是 string
    不会改变原数值,返回新数值

    判断一个数是不是字符数字,和数字

    如果isNaN函数的参数不是Number类型, isNaN函数会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN进行判断

    isNaN(testValue); 是数字和字符数字返回 false;不是返回 true

    一、算术运算

    +
    -
    *
    /
    取模、取余 %
    ES6:指数运算符 **

    console.log( 2 ** 10 )
    

    1. 隐式类型转换

    + 在有字符串的时候,会进行字符串拼接
    - * / % 会尽力把不是数字的转化为数字

    2、NaN ——— not a number(不是一个数字)

    不是数字的数字类型(number类型)
    NaN和自己都不相等is NaN( obj )
    判断是否为NaN,是返回true,否返回false;

    当出现 NaN 时,一定是发生了非数字的数学运算

    NaN 跟自己比较时。是不相等的

    NaN 数据类型: number

    • 一个 小指 模上一个大的值,结果 还是等于这个 小值

    3、显示类型转化化

    • 值决定变量的类型

    》 转数字

    Number() 可以用于任何数据类型转换成数值,parseInt()parseFloat():专门用于把字符串转换成数值
    都是忽略前导的空格

    1. Number()
    1.1)能把字符串转化为数字。
    2.2)如果字符串是空的(不包含任何字符),则将其转换为0
    3.3)如果带非数字的字符串,返回NaN。
    4.4)undefined,返回NaN。
    5.5)true和false将分别转换为1和0。
    6.6)null值,返回0。
    7.
    8.var a = Number( '-100.02' );
    9.console.log( a );            //-100.02
    10.var a = Number( '100px' );
    11.console.log( a );           //NaN
    12.var a = Number( '' );
    13.console.log( a );            //0
    14.var a = Number( undefined );
    15.console.log( a );            //NaN
    16.var a = Number( true );
    17.console.log( a );           //1
    18.var a = Number( null );
    19.console.log( a );           //0
    
    
    1. parseInt() (取整)取 非数字整前的数字 ,或小数点前的数字——-

    2. parseFloat() 能取得 小数,第二个小数点前的数字

    》 转字符串

    String( obj );
    obj.toString();

    1 布尔类型转字符类型

            let a = true;
            let b = String (a);
    
            console.log(a); //  蓝色 为 布尔值
            console.log(b); //  黑色 为 字符串
    
    image.png

    2 布尔类型转数值类型

    布尔值转为数字的时候;false 会 转化为 0true 会 转化为 1;

            let a = true;
            let b = Number (a);
            
            console.log(typeof a);
            console.log(typeof b);
    
    image.png

    3 数值类型转字符串类型

    最简单的方法就是直接 变量 + ""; 因为你发现引号里面写什么都会影响外面,所以索性什么都不写!

            let a = 1;
            let b = a + "";
            
            console.log(typeof a);
            console.log(typeof b);
    

    4 字符串类型转数值类型

    • 1、直接在字符串的前面加上 +
      2、而 + 用於单一数值型态的运算元时, 会将位元宽度小於int的数值, 自动转型为int, 例如byte, char, short
      3、有加号,包装类中它会自动把i转成ASCII码中的105。如果前面加了字符,它则把i当字符看,

    Number.parseFloat转化为数值类型的浮点数!
    Number.parseInt转化为数值类型的整数!
    不能转布尔值

    需要注意字符串转数值时,如果字符串时 1.1.1.1 ,那么它就会时NaN;因为 没有不存在这样的数值;

    可以通过Number.parseFloat来转化为数值,因为它会自动识别一个小数,会自动保留一位小数!

    从左往右开始,第一个(非空格)开始,以此往后找,如果排除空格以后,剩下的还是那些符号,就会转化失败!

            let a = '1.1545645656.1.1.1.1.1';
            
            let b = Number.parseFloat(a);
            
            console.log(typeof b, b);
    
    image.png
            let a = '1.15%456.151321.1564546.1554545456';
    
            let b = Number.parseFloat (a);
    
            console.log(typeof b, b);
            //  是自动识别一个小数位,把符号后面的都砍掉
    
    image.png
            let a = '1.1.1';
    
            let b = Number (a);
            
            console.log(typeof b, b);
    
    image.png

    5 转布尔值

    Boolean()

    特殊方法 字符串类型 转 数值类型

            let c = '1.1';
    
            let d = c - 0;
            //  c * 1  c / 1  c - 0 
    
            console.log(typeof d, d);
    
        let a = 1;
        let d = !!a;
        //  true ==> false ==> true
    
        console.log(d);
        //  双重否定变肯定
    

    Number转化数字的时候,会先把拿到的数据,先通过toString()方法转化为字符串,再转化为数字

    image.png

    "'' 可以被 Number 转为 o
    null 可以被 Number 转为 o
    true可以被 Number 转为 o
    false 可以被 Number 转为 o
    [] 可以被 Number 转为 o
    undefined 会被 Number 转为 NaN
    {} 会被 Number 转为 NaN

    二、赋值运算

    = += -= *= /= %= ++ --

    三、比较运算

    <————–小于
    > ————-大于
    = = ————- 等于
    <= ————-小于等于
    >= ————- 大于等于
    != ————- 不等于
    = = =————- 全等,除了值的判断,还会进行unicode 编码的对比
    !==————-不全等
    返回boolean值

    四、逻辑运算

    ||————-逻辑或
    &&————–逻辑与

    &&符号为真值的时候,就会通过&&符号继续往后执行;如果为假值,就立即停止
    ||则相反

    赋值操作

    1.
    2.var c = a || b;
    3.//如果a为true,则用a赋值,如果a为false,则用b赋值
    4.
    5.var c = a && b;
    6.//如果a为true,则通过,用 b 赋值
    7.//如果a为false,用 a 赋值
    8.
    
    

    布尔值操作

    1.if( a || b ){
    2.    //如果a为true,则为true
    3.    //如果a为false,则看b
    4.}
    5.
    6.if( a && b ){
    7.    //如果a为true,则通过,看b,b为true则为true
    8.    //如果a为false,则false
    9.}
    10.
    
    

    多则运算及优先级


    !————–取反

    1.if( !obj ){
    2.//首先会把obj转化为布尔值,如果 obj是true,则!obj为false
    3.}
    

    相关文章

      网友评论

          本文标题:07-第七章 运算符 类型转换

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