• JavaScript之数据类型转化


    一.显示数据类型

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>数据类型转化</title>
    </head>
    <body>
        <div>100</div>
    </body>
    </html>
    <script type="text/javascript">
        var oDiv = document.getElementsByTagName( 'div')[0];
        alert(typeof oDiv.innerHTML );
    </script>


    二.数据类型转化方式

      

    数据类型的转化
      1.强制类型转化
      Number():只能转换纯数字的字符串,不能转换非纯数字的字符串,会出现NaN

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>强制类型转换之Number</title>
    </head>
    <body>
    
    </body>
    </html>
    <script type="text/javascript">
        var i = '100';
        alert( Number(i) );
    </script>

    温馨小提示:如果字符串中含有非数字字符串,强制转换Number将出现NaN[not a number]

          NaN是一个不是数字的数字类型;只要出现就证明我们的运算或者数据类型转换.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>强制类型转换之Number</title>
    </head>
    <body>
    
    </body>
    </html>
    <script type="text/javascript">
        var ii = '100px';
        alert( Number(ii) );
    </script>

    支持小数转换:不过小数点后非0会切掉

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>强制类型转换之Number</title>
    </head>
    <body>
    
    </body>
    </html>
    <script type="text/javascript">
        var iii = '100.01000';
        alert( Number(iii) );
    </script>

      parseInt():可以转换不是纯数字的字符串,后面非数字的字符串不转换,其余数字字符串转换.意味着不能转换小数即:100.5也只能转换为100

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>强制转换类型之parseInt</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var i = '100px';
        //有效转换的字符串
        alert( parseInt(i));
        //转换类型
        alert( typeof parseInt(i));
    </script>

     

    温馨小提示:字符串起始是非数字的,转换时会出现NaN

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>强制转换类型之parseInt</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var ii = 'a100';
        alert(parseInt(ii));
    </script>

    parseFloat():支持小数转换

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>强制类型转换之parseFloat</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var i = '100.9';
        alert( parseFloat(i));
    </script>

    温馨小提示:起始位置是非数字字符串,转换时会出现NaN

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>强制类型转换之parseFloat</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var ii = 'a100.9';
        alert( parseFloat(ii));
    </script>

      2.隐式类型转换

       字符串和数字做加号,会转换成字符串

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>隐式转换</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var a = '100';
        var b = 17;
        var c = a + b;
        alert(c);
        alert(typeof c);
    </script>

       字符串和数字做减法会转换成数字   

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>隐式转换</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var a = '100';
        var b = 17;
        var c = a - b;
        alert(c);
        alert(typeof c);
    </script>

        字符串和字符做减法会转换成数字

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>隐式转换</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var a = '100';
        var b = '17';
        var c = a - b;
        alert(c);
        alert(typeof c);
    </script>

      

         / ÷ * 号都成立

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>隐式转换</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var a = '100';
        var b = '17';
        var c = a * b;
        alert(c);
        alert(typeof c);
    </script>

       字符串和字符串做++ --会转换成数字

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>隐式转换</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var a = '100';
        var b = 17;
        var c = a + b;
        alert(a++);
        alert(typeof c);
    </script>

      字符串和数字做> <比较,会转换为数字,进而量数字比较大小

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>隐式转换</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var q = '19';
        var w = 100;
        alert(q>w);
    </script>

      字符串和字符串进行大小比较,会按照字符串的方法:逐个比较

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>隐式转换</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        var e = '19';
        var r = '180';
        alert(e>r);
    </script>

      !

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>隐式类型转换!</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        //0代表false
        var a = 0;
        //所以!a会进行隐式转换为true
        alert(!a);
    </script>

  • 相关阅读:
    heat模板
    Leetcode812.Largest Triangle Area最大三角形面积
    Leetcode812.Largest Triangle Area最大三角形面积
    Leetcode811.Subdomain Visit Count子域名访问计数
    Leetcode811.Subdomain Visit Count子域名访问计数
    Leetcode806.Number of Lines To Write String写字符串需要的行数
    Leetcode806.Number of Lines To Write String写字符串需要的行数
    Leetcode819.Most Common Word最常见的单词
    Leetcode819.Most Common Word最常见的单词
    Leetcode783.Minimum Distance Between BST Nodes二叉搜索树结点最小距离
  • 原文地址:https://www.cnblogs.com/zjm1999/p/10831243.html
Copyright © 2020-2023  润新知