JS变量和数据类型及其转化

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
// 字面量就是常量,不可变的量
// 变量,用var 声明变量
 // JS底层保存标识符实际上采用的是Unicode编码,所以理论上所有utf-8的内容都可以用作标识符
// 也就是中文也可以当做标识符
        var 年龄=18;
数据类型是字面量的类型  变量可以为任何类型
        JS中有6中类型
            基本数据类型:
                String
                        var str="hello world"; //支持转义字符
                Number   整数+浮点数
                        整数运算可以基本保证正确
                        浮点数运算会存在误差,不要对精确要求比较高的运算
                        var a=123; 数值
                        var b ="123"; 字符串
                        console.log(typeof a); //检查数据类型
                        console.log(typeof b);
                        超过最大值,则是Infinity
                        var c = Infinity; //正无 穷
                        var d =NaN; //NaN是一个特殊数值, Not a Number
                        var e = 123+"233";
                        console.log(typeof Infinity); //Number
                        console.log(typeof e); //NaN
                        console.log(Number.MAX_VALUE); 1.797336565e+308 最大正数
                        console.log(Number.MIN_VALUE); 5e-324 最小正数
                Boolean
                Null:空对象 object
                Undefined: 未定义变量,声明了变量但未赋值
            引用数据类型:
                Object
        强制类型转换
            1。转换成String
                    var a=123;
                    var b =true;
                    方法1:
                          var c = a.toString(); //调用Number类型变量a的toSting方法,返回它相应的字符串
                          var d = b.toString(); //调用boolean类型变量b的toSting方法,返回它相应的字符串
                            null和undefined没有toString方法
                            var a = null;    var c = a.toString() 会报错
                            var a = undefined;    var c = a.toString() 会报错
                    方法2:
                        调用String函数,对Number、Boolean,Undefined,NULL都适用
                        var c = String(a); //c是字符串类型,a是Number
                        调用String的底层原理:
                        对于Number,Boolean底层调用的是toString()
                        对于Undefined和NUll底层直接将其转成"undefined","null"
            2.转换成Number
                    方法1:
                            适用Number()函数
                                    字符串 => 数字
                                    1.字符数字字符串直接转换成数字 "123" => 123
                                    2.非字符数字字符串转换成NaN  "22adf" => NaN
                                    3.空串或者空格串转换成 0    "    " => 0
                            Boolean => 0, 1
                            Null => 0
                            Undefined => NaN;
                    方法2:
                            parseInt() 把一个字符串中有效数字转换为整数,从左至右
                            parseFloat() 把一个字符串中有效数字转换为浮点数
                            var a = "123px";
                                a = parseInt(a); 从头到尾取整数
                            对于非String类型的数据使用parseInt()操作时,会先把非String字符串,转成字符串再操作,
                            例如: var a = true;
                                    a = parseInt(a); 此时a的类型是NaN,此句等价于 parseInt("true")
                            16进制 0x开头
                            8进制 0开头
                            2进制 0b开头  某些浏览器不支持
                            var a = "070";
                            a = parseInt(a);  某些浏览器会把a解析成8进制数,某些浏览器会把a解析成10进制数
                            可以在parseInt()加上第二个参数,指定其进制
                            a = parseInt(a, 8); 所有浏览器都用8进制解析
            3、转换成Boolean
                    调用Boolean()
                        数字 => 布尔     0和NaN是false,其他数据都是true
                        var  a =123;
                        a = Boolean(a)
                        字符串 => 布尔    空串是false,其他非空字符串是true (包含空格串)
                        null和undefined => false;
                        object => true
    </script>
</head>
<body>

</body>
</html>

猜你喜欢

转载自www.cnblogs.com/luoxuw/p/11438437.html
今日推荐