• js---12数据类型,数据类型转换,NaN,


    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
    
    <script>
    /*
    ECMAScript,标准、核心 :必须写var ,if后面跟小括号不是大括号,规定数据类型,
    HTML 标签类型:block、inline、inline-block、table……
    JS中的数据类型:数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义
    typeof 判断数据类型
    */
    
    var i = 100;
    alert( typeof i );            // number
    
    var s = ' miaov ';
    alert( typeof s );                // string
    alert( s.length );                // 7
    alert( s.charAt(3) );        // 'a'
    
    var b = true;                // 布尔值:true  false
    alert( typeof b );        // boolean
    if ( true ) {}
    for ( ; false ; ) {  }
    
    var fn = function (){ alert(1); };
    function fn1(){
        alert(2);
    }
    alert( fn1 );//弹出函数体
    fn1();
    
    var obj = document;  //地址传递
    alert( typeof obj ); // object  物体、东西、对象
    obj.abc = 123;
    obj.onOff = true;
    obj.fn1 = function (){ alert(1); };
    alert( document.onOff );        // 123
    obj.fn1();//函数调用
    
    var arr = [ 1,2,3,4 ];
    alert( arr.length );
    arr[2] = 345;
    alert( arr );
    arr.push( 5,6,7 );//加入多个
    alert( arr );
    alert( typeof arr );        // object
    arr.abc = 999;//数组是object,数组也可以加属性
    arr.fn1 = function (){ alert('ok'); };
    alert( arr.abc );//999
    arr.fn1();//函数调用
    
    var json = { name:'miaov', age:5  };
    alert( json.name + '今年' + json.age + '岁了' );
    alert( typeof json );//object
    
    var n = null;
    alert( typeof n );//object
    
    var u;
    alert( typeof u );            // undefined 未定义
    </script>
    </head>
    <body>
    </body>
    </html>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
    //Number和parseInt可以处理小部分非数字,非数字太多就不行了。
    <script>
    var a = '+100';     //正100
    alert( a+100 );        // '100100'
    alert( Number(a) );            // 100
    var a1 = '    ';
    alert( Number(a1) );        // 0
    var a2 = true;
    alert( Number(a2) );            // true-1  false-0
    var a3 = [ 1 ];
    alert( Number(a3) );            // 1 0
    var a3 = [ ];
    alert( Number(a3) );            // 0
    var a4 = null;
    alert( Number(a4) );                // 0
    
    
    
    
    var b = ' 200px';
    alert( Number(b) );//NaN
    alert( parseInt(b) );//200     parseInt(b,10):按照10进制转换
    alert( parseInt('200px667677') );//200,只转前面的,
    alert( parseInt('+200px667677') );//200,
    
    var c = '12.34元';
    alert( parseInt(c) );//12
    alert( parseFloat(c) );//12.34
    
    var num = '200.45';
    if( parseInt(num) == parseFloat(num) ){
        alert( num + '是整数' );
    }else{
        alert( num + '是小数' );
    }
    
    var json = {};
    alert( Number(json) );
    
    var u;
    alert( Number(u) );
    
    var a3 = function (){ alert(1); };
    alert( Number(a3) );            // NaN
    </script>
    </head>
    <body>
    </body>
    </html>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
    
    <script>
    
    /*
    显式类型转换(强制类型转换):
    Number()
    parseInt()
    parseFloat()
    
    隐式类型转换:
        +                    200 + '3'        变成字符串
        - * / %                '200' - 3     变成数字197
        ++ --                var a='10';a--;alert(a) 9        变成数字
        > <                 alert('10'>9)  true  转成10>9,  alert('10'>'9') false 字符串的比较
        !    取反                    把右边的数据类型转成布尔值
        ==
    */
    
    alert( Number('……') );            NaN
    alert( '……'-9 );                                    NaN
    
    alert( '2' == 2 );//true
    alert( '2' === 2 );//false
    </script>
    </head>
    <body>
    </body>
    </html>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
    <script>
    // JS中的数据类型:数字(NaN)、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义
    var a = Number('abc');
    alert( a );            // NaN:not a number 不是个 数字 的 数字类型
    alert( typeof (a) );            // number
    // 一旦写程序中出现:NaN  肯定进行了非法的运算操作
    // alert( '200px' -  100 );
    // NaN 是 false
    if( a ){
        alert( '真' );
    }else{
        alert( '假' );
    }
    var abc = [];
    alert( abc === abc );                true
    // NaN 与自己都不相等!!
    alert( a === a );                // false
    </script>
    </head>
    <body>
    </body>
    </html>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
    
    <script>
    isNaN();// 判断是不是数字,不喜欢数字,不是数字true,是数字false
    // 判断某些值是不是数字
    // 不喜欢数字、讨厌数字
    alert( isNaN( function(){ alert(1) } ) );//true
    alert( isNaN('250') );//false,调用Number()  '250' => 250 => false
    alert( isNaN( [] ) );//false,调用Number()=>0
    </script>
    </head>
    <body>
    </body>
    </html>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
    <script>
    window.onload = function (){
        var aInp = document.getElementsByTagName('input');
        var str = '';
        aInp[1].onclick = function (){
            str = aInp[0].value;//   '123'
            // HTML 中拿到的内容,类型都是字符串,即使输入123,也是字符串
            alert( typeof str );//string
            if( isNaN(str) ){//调用Number('123')=>123,是数字。
                alert( str + '不是数字' );
            }else{
                alert( str + '是数字' );
            }
        };
    };
    </script>
    </head>
    <body>
    <input type="text" />
    <input type="button" value="判断输入值是不是数字" />
    </body>
    </html>
  • 相关阅读:
    软件测试常见概念
    Apollo简介及工作原理
    bug的编写技巧与级别划分
    native与H5优缺点及H5测试
    优惠券测试
    go语言-for循环
    go语言-流程控制--if
    go语言-二进制与位运算
    cookie和session
    AJAX
  • 原文地址:https://www.cnblogs.com/yaowen/p/6837765.html
Copyright © 2020-2023  润新知