JavaScript-数据类型


时隔两天没有发布新文章,再发已是再发人。废话不多说,今天讲的是js中字面量的类型。
在JS中一共有六种数据类型:

  • String 字符串
  • Number 数值
  • Boolean 布尔值
  • Null 空值
  • Undefined 未定义
  • Object 对象
    其中前5个属于基本数据类型,而Object属于引用数据类型。

字符串

在JS中字符串需要使用引号引起来。

浅试一下吧:

var str = "hello";
console.log(str);

在这里插入图片描述
错误用法

        var str = hello;
        console.log(str)

在这里插入图片描述

使用单引号或双引号都可以,没有区别,但是不要混用。
引号不能嵌套。

        var str = '溏心蛋说:"小羊今天真美"';
        console.log(str)

在这里插入图片描述
引号嵌套

        var str = "溏心蛋说:"小羊今天真美"";
        console.log(str)

在这里插入图片描述

双引号内不能用双引号、单引号内不能使用单引号。
在字符串中可以使用\作为转义字符
当表示一些特殊符号时,可以使用\进行转义。
\n表示换行
\t表示制表符
\表示\

        var str = "溏心蛋说:\"小羊今天真美\"";
        console.log(str)

在这里插入图片描述

Number

在js中所有的数值都是Number类型,包括整数和浮点数(小数)

        // 数值123
        var a = 123
        // 字符串123
        var b = '123'

        console.log(a)
        console.log(b)

在这里插入图片描述
区分不出来。

引入typeof
语法 typeof + 变量,返回一个类型值
检查字符串时,会返回string
检查数值时,会返回number
看效果:

        // 数值123
        var a = 123
        // 字符串123
        var b = '123'

        console.log(typeof a)
        console.log(typeof b)

在这里插入图片描述

Infinity

js中可以表示的数字的最大值:Number.MAX_VALUE
1.7976931348623157e+308

        A = Number.MAX_VALUE * 2
        console.log(A)

在这里插入图片描述
Infinity 表示正无穷
-Infinity 表示负无穷
也是Number的一种

NaN

NaN是一个特殊的数字,表示Not A Number

浅试一下吧

        A = 'abc' * 'cde'
        console.log(A)

在这里插入图片描述

MIN_VALUE

表示0以上的最小值 5e-324

        A = Number.MIN_VALUE
        console.log(A)

在这里插入图片描述

布尔值

布尔值只有两个,主要用来做逻辑判断
true - 表示真
false - 表示假

		A = true
        B = false
        console.log(typeof A)
        console.log(typeof B)

在这里插入图片描述

Null和Undefined

Null类型的值只有一个,就是null
null这个值专门来表示一个为空的对象

        a = null
        console.log(a)
        console.log(typeof a)

在这里插入图片描述

Undefined(未定义)类型的值只有一个,就undefined
当声明一个变量,但是并未给变量赋值时,它的值就是undefined

        var b 
        console.log(b)

类型转换

指将一个数据类型强制转换为其他的数据类型
类型转换主要指,将其他的数据类型,转换为String、Number、Boolean

将其他数据类型转换为String

方法一

调用被转换数据类型的toString()方法
该方法不会影响原值

        // 数值123
        var a = 123
        console.log(a)
        console.log(typeof a)
        // 方法一:调用被转换数据类型的toString()方法
        //         该方法不会影响原值
        b = a.toString()
        console.log(b)
        console.log(typeof b)

在这里插入图片描述

注意:null和undefined值不能tostring方法,会报错

方法二

调用Strinng()函数,并将被转换的数据作为参数传递给函数
使用String()函数做强制类型转换时,
对于Number和Boolean实际上就是调用的toString()方法
但是对于Null和undefined,就不会调用toString()方法

        // 数值123
        var a = 123
        console.log(a)
        console.log(typeof a)
        // 方法二:调用String()函数,并将被转换的数据作为参数传递给函数
        a = String(a)        
        console.log(a)
        console.log(typeof a)

在这里插入图片描述

转换为Number

将其他的数据类型转换为Number

方法一

使用Number()函数

        var a = '123'
        console.log(a)
        console.log(typeof a)

        a = Number(a) 
        console.log(a)
        console.log(typeof a)

在这里插入图片描述
字符串转数字

‘数字’ → 数字
‘非数字’ → NaN
’ ’ → 0
布尔转数字
true → 1
false → 0

方法二

这种方法专门用来对付字符串
parseInt()
parseFloat()

        var a = '124G'
        console.log(a)
        console.log(typeof a)

        a = parseInt(a) 
        console.log(a)
        console.log(typeof a)

在这里插入图片描述

其他进制位的数字

16进制

        // 数字123
        var a = 123; 
        // 在js中,如果需要表示16进制的数字,则需要以0x开头
        a = 0x123
        console.log(a)  // 291

8进制数字

        // 数字123
        var a = 123; 
        // 在js中,如果需要表示16进制的数字,则需要以0x开头
        a = 0123
        console.log(a)  // 83

2进制

        // 数字123
        var a = 123; 
        // 在js中,如果需要表示16进制的数字,则需要以0x开头
        a = 0b123
        console.log(a)  

注意不是所有的浏览器都能用2进制打开

另一种情况:

        // 数字123
        var a = '070' 
        // 有些浏览器会当作8进制解析,有些会当成10进制解析
        a = parseInt(a,10) // 以10进制转换
        console.log(typeof a)  
        console.log(a)  

在这里插入图片描述

转换为boolean

        // 数字123
        var a = 123
        console.log(typeof a)
        console.log(a)
        // 调用Boolean
        a = Boolean(a)        
        console.log(typeof a)
        console.log(a)

在这里插入图片描述
数字 → boolean

除了0和NaN,其余都是true

字符串 → 布尔

除了空串,其余都是true

null和undefined → 布尔

都为false

对象 → 布尔

都为true

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

溏心蛋*

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值