• js02 变量数据类型


    变量
    JavaScript 是一种弱类型的脚本语言
    var c = 3;即变量的声明(变量使用之前必须加var声明,编程规范)
    变量的命名规则!
    1.变量命名必须以字母或是下标符号”_”或者”$”为开头。
    2.变量名长度不能超过255个字符。
    3.变量名中不允许使用空格。
    4.不用使用脚本语言中保留的关键字及保留符号作为变量名。
    5.变量名区分大小写。(javascript是区分大小写的语言)
    全局变量
    在方法外部声明的变量
    方法内部,没有加var关键字声明的变量
    局部变量
    方法内部,使用var声明的变量,出了方法就不行了
    
    
    ECMAScript中,数据类型也分为基本类型和引用类型两大类.
    基本数据类型:Number、Boolean、String、Undefined、Null
    Number:整数和小数(最高精度17位小数)、NaN、Infinity, -Infinity (正负无穷)
        注意:
    1.除10进制外,还可通过8进制和16进制的字面值来表示,如 070 表示56、0xA表示10.
    2.小数为浮点类型,if(a+b == 0.3) //不要做这样的测试,因为     浮点数值最高精度是17位,而是0.300000000000000004.
    Undefined:表示变量声明但未赋值.
    Null:表示一个空的对象引用(也就是赋值为null)
    引用类型:Object类型 (比如对象、数组、RegExp、Date...)
    Typeof 操作符
    基本类型和引用类型的值
    基本类型是按照值访问的,因为可以操作保存在变量中的实际值
    引用类型则是按地址去访问的
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Untitled Document</title>
            <script type=text/javascript charset=utf-8>            
            //关于全局变量和局部变量的简单说明             
            var a = 3;//number(代表int,float,double),方法外部var是全局变量 
            //变量一共有两种: 全局变量 局部变量
            function test(){
                var a = 2 ;     //方法内部var局部变量
                var b = 2 ;        //方法内部var局部变量
                c = 5 ;            //全局变量,不加修饰符的变量用的少
                alert(a);       //2
            }
            test();//当成函数看,基础部分都当成函数看,
            alert(c);//5,test()方法要先执行否则undefined
            alert(b);//undefined
            
            //javascript是弱类型变量的脚本语言 ,根据赋值决定变量的类型 
            // Number类型 整数和小数
            var a1 = 10 ; 
            var a2 = 10.5 ;
            var a3 = NaN;         //not a number
            var a4 = 1/0 ;        //正无穷
            var a5 = 070;        //8进制 和16进制(0xA)
            alert(a4);//Infinity正无穷
            alert(a5);//56
            var a6 = 0.1 ; 
            var a7 = 0.2 ;
            if(a6+ a7 == 0.3){//a6+a7 = 0.30000000000000004
                alert('等于0.3');
            } else {
                alert('不等于0.3');//走这里
            }
            
            var a8 = parseInt("aaabbcc"); //不是一个数
            alert(a8);//NaN,转换不了数字,就说not a number
            var a9 = parseInt("12bbcc");
            alert(a9);//12
            
            //undefined 数据类型 他的值就是undefined 表示变量声明了,但是没有被赋值
            var b1  ;
            alert(b1);//undefined
            
            //Null 空值
            var b2 =  null ;
            alert(b2);//null
            
            //String ,js里面单引号双引号不区分
            var str1 = "我是字符串1";
            var str2 = '我是字符串2';
            
            // Boolean 
            var flag1 = false ; 
            var flag2 = true ; 
            
            // 引用数据类型
            var arr = [1,2,3];        //数组类型
            var dates = new Date();    //日期类型
            var obj = {};            //空对象    
            
            // typeof 操作符  用来判断数据类型的    
            var a = 10 ;
            var b = 10.3 ; 
            var c = true ; 
            var d = 'abcd';
            var e = new Date();//object
            var f = NaN ;//number,
            var g = [1,2,3];//object
            var h = undefined ; //undefined类型
            var i = null;        //object类型,表示一个空对象的引用{}
            alert(typeof i);
            </script>
        </head>
        <body>
        </body>
    </html>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Untitled Document</title>
            <script type=text/javascript charset=utf-8 >
            var a1 = 10 ; 
            var a2 = 10.0 ;
            if(a1 == a2){
                alert('相等');//走这里
            }
            if(a1 === a2){//都是number类型
                alert('222222');//走这里
            }
            //js数据自动转换的机制 
            var a = "1" ;         //非空字符串是true
            var b = true ;         //boolean
            // == 表示 可以经过自动转换 转成相同的类型再比较数值 
            // === 表示 可以经过自动转换 先比较值, 再比较数据类型
            if(a == b){
                alert('相等');//走这里
            } else {
                alert('不等');
            }
            if(a === b){
                alert('相等');
            } else {
                alert('不等');//走这里
            }
            
            //三目运算符:
            var c = 10/2>4?5:3;
            alert(c);//5
            
            //关于for循环的特点:
            for(var i =0 ;i <5 ; i++){//用var不用int,
                alert(i);
            }
            </script>
        </head>
        <body>
        </body>
    </html>
  • 相关阅读:
    我的不足
    对于大数据的一些思考
    对于三层架构的理解
    面试的那些事
    最前端资源汇总——摘自张果博客
    ES6_Promise 对象 阮一锋
    深入理解ES6箭头函数的this以及各类this面试题总结
    函数的扩展——箭头函数this的使用
    ES6学习总结 (二)
    原生js的ajax请求
  • 原文地址:https://www.cnblogs.com/yaowen/p/6858635.html
Copyright © 2020-2023  润新知