javascript中数据类型及转换、String()和toString()的区别

数据类型:

JavaScript中的数据类型:

在计算机中,不同的数据类型所占的储存空间是不同的。1、原始数据类型:number (数字)、string(字符串)、boolean(布尔值)、null(空对象)、undefined(未定义)、object(对象)6种,前面5种分为简单数据类型,后面的object为复杂数据类型;2、ECMAScript6中新增symbol,3、新增BigInt,与Number相比,可以支持更大的整数值,共8种。

	1、number:数字类型(整数和小数)

    2、string:字符串类型(值一般是用双引号或者单引号括起来的)

    3、boolean:布尔值,值为true或者false

    4、null:空类型,值为null,一个对象指向为空时,此时值为null

    5、undefined:未定义,值为undefined,值为undefined的情况:

        1、变量声明后没有赋值

        2、函数没有明确返回值,如果接收了,结果是undefined

        3、一个变量的的结果是undefined和一个数字计算的结果是NaN,结果为非数字,没有意义

    6、object:对象

输出数据类型:typeof 变量名 或 typeof(变量名),如

	<script>
        var num = 10;
        console.log(typeof(num));
        console.log(typeof num);
    </script>

Number类型:

数值字面量,数值的固定表示。在JavaScript中使用的是十进制,常见的数字进制还有二进制、八进制、十六进制等。浮点数:指小数,浮点数之间的计算有出现问题,两个浮点数之间是不能判断是否相等的,如果实在要计算,只能把它放大到整数后在计算,之后在缩小相同的倍数。数字的范围:最大值:Number.MAX_VALUE 最小值:Number.MIN_VALUE 无穷大:Infinity 无穷小:-Infinity;NaN指一个坏掉的数字,它和任何数字或者NaN都不能比较,判断一个数据类型是否为NaN的方法:isNaN(变量)。

String类型:

字符串字面量,指用双引号或者单引号包裹着的字符;字符串的长度:str.length;转义符:JavaScript好多特殊符号是通过\来转义的,转义符很多,我们用的时候到官网查就可以了,不需死记硬背。字符串的拼接:只要有一个是字符串,用加号连接就是拼接。有一个是数字使用减号,其他是字符串则相减。

	<script>
        // 字符串可以使用单引号也可以使用双引号
        console.log("哈哈\\嘎嘎");
        console.log("哈哈\t嘎嘎");
        console.log("哈哈\"嘎嘎");
    
        // 字符串的拼接
        var str1 = '你好';
        var str2 = '我好';
        var str = str1 + str2;
        console.log(str) //你好 我好
    
        var num1 = 3;
        var str1 = '10';
        var sum = num1 + str1;
        console.log(sum); //310 
    
        // 隐式转换:通过 -、*、/ 浏览器自动的把字符串转换成数字类型,如:
        var str1 = '10';
        var str2 = '20';
        var num = str2 - str1;
        console.log(num); //10
    
        var num1 = '10';
        var num2 = 5;
        console.log(num1 * num2); //50
        console.log(num1 / num2); //2
    </script>

Boolean类型:

字面量是true和false(1或0)。

Undefined类型:

表示一个声明后没有赋值的变量。

null类型:

表示一个空,如果想要是变量的值为null,那么必须手动设置:var nul = null;

	<script>
      	console.log(true); //true
      
        var str;
        console.log(str); //undefined
        console.log(str + 'str'); //undefinedstr
        console.log(str + 12); //NaN
        console.log(str + true); //NaN
        console.log(str + false); //NaN
    
        var nul = null;
        console.log(nul); //null
        console.log(nul + 'str'); //null
        console.log(nul + 12); //12
        console.log(nul + true); //1
        console.log(nul + false); //0
    </script>

数据类型转换:

	<script>
        // 一、转整数:parseInt()
        console.log(parseInt('10'));//10
        console.log(parseInt('20dfa'));//20
        console.log(parseInt('gg10'));//NaN
        console.log(parseInt('2hu3'));//2
        console.log(parseInt(10.78));//10
        console.log(parseInt('23.4fs'));//23
    
        // 二、转小数:parseFloat()
        console.log(parseFloat('19'));//19
        console.log(parseFloat('19jk'));//19
        console.log(parseFloat('gf19'));//NaN
        console.log(parseFloat('12.78j32'));//12.78
    
        // 三、转数字,比上面的两种要严,只有纯数字的字符串才会被转成数字类型:Number()
        console.log(Number('29'));//29
        console.log(Number('19ds'));//NaN
        console.log(Number('f43'));//NaN
        console.log(Number('10.98'));//10.98
    
        // 四、转字符串:num.toString()和String(num)
         var num = 10;
         console.log(num.toString());//'10'
         console.log(String(num));//'10'
        // 如果变量有意义调用.toString()转换
        // 如果变量没有意义使用String()转换
    
        // 五、转boolean值:Boolean()
        console.log(Boolean(1));//true
        console.log(Boolean(0));//false
        console.log(Boolean(''));//false
        console.log(Boolean('3'));//true
        console.log(Boolean(null));//false
        console.log(Boolean(undefined));//false
        console.log(Boolean(NaN));//false
        console.log(Boolean(false));//false
    </script>

String()和.toString()的区别:.toString()只能转换有意义的数据类型,而String()则没有那么要求高。

	<script>
        var num = null;
        var str;
        console.log(toString(num)); //undefined
        console.log(toString(str)); //undefined
    
        console.log(num.toString());//报错
        console.log(str.toString());//报错
    </script>

eval()方法:

eval()方法是可以计算字符串的,普通的字符串是无法做计算的,如:

	var str = '2+3';
    console.log(str);//2+3
    console.log(eval(str));//5

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者 删除。
笔者:苦海

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦海123

快乐每一天!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值