【Js】基本数据类型

1.介绍

Js中的基本类型有5种,分别在下文2~4点中介绍其定义、常用方法、特殊值等等。
资料来源:百度、慕课网前端20版

2.Number

Number是表示数字的类型。在Js中没有整浮、大小、正负之分。

2.1 科学计数法
3*10^8 => 3e8
3*10^-4 => 3e-4
2.2 不同进制
  • 二进制 :0b => 0b10
  • 八进制 :0 => 017
  • 十六进制 :0x => 0xB5
2.3 特殊值

NaN是Number的一个特殊值,表示一个非数字的状态。它有一些特殊的属性:

typeof NaN =>Number
NaN == NaN =>false
0/0 => NaN
'3'-'a'=>NaN

即,使用typeof检测NaN会返回Number;NaN不等于自身,这也成为判断变量的值是否为NaN的一种方法;数学运算中,不符合规则的表达式结果为NaN;
可以使用isNaN(var)来判断某变量是否为NaN,但该方法只是将变量进行强制类型转换,如果该变量强制转换为Number的值为非数字,则判断为NaN。

isNaN(a) => Number(a) =>NaN?
isNaN('3') => 3
isNaN('3a') => NaN
isNaN('') => 0
......

类型转换部分有更详细的介绍。

3.String

是使用单引号或双引号包裹的一串字符,Js中最常用的数据类型之一。

3.1 拼接

使用’+'可以拼接两个字符串,一个字符串和其他类型。

'a'+3 =>'a3'
3.2 length属性

str.length可以获得该字符串的长度

3.3 常用方法
  • charAt(index):查找字符串指定索引的字符并返回。如果超出字符串长度或索引为负时,返回空字符。
'abc'.charAt(1) => 'b'
'abc'.charAt(999) => ''
'abc'.charAt(-1) => ''
  • toUpperCase()/toLowerCase():将字符串整体转成大写/小写,多用在字符串比较方面。
  • indexOf([char,substr])/lastindexOf([char,substr]):查找字符串指定字符的索引并返回,但只返回第一次/最后第一次出现的位置,若不存在此字符则返回-1,若查找的为子串,则返回匹配的第一个字符的位置,若要查找的子串不存在,则返回-1。
'abc'.indexOf('b') => 1 (Number)
'abc'.indexOf('*') => -1
'abcdefg'.indexOf('def') => 3
'abcdefg'.indexOf('dcg') => -1
  • substring()、substr()、slice()
    • substring(indexStart,indexEnd):提取索引在[indexStart,indexEnd)范围内的子串。
      • 特殊值:省略indexEnd;indexStart>indexEnd;
'something'.substring(2,4) => 'me'
 012345678
 987654321(-)
 'something'.substring(4,2) => 解析成'something'.substring(2,4) => 'me'
 'something'.substring(-2,4) => 解析成'something'.substring(0,4) => 'me'
 'something'.substring(2) => 解析成'something'.substring(2,self.length) => 'mething'

(也就是说indexStart和indexEnd可以互换位置且正负没有要求)

    • substr(indexStart,length):提取索引为[indexStart,indexStart+length+1)范围内的子串。
      • 特殊值:省略length,length大于sub.length;length为负;indexStart为负;
'something'.substr(2,4) => 'meth'
'something'.substr(2) => 解析成'something'.substr(2,self.length-indexStart+1) => 'mething'
'something'.substr(2,-1) => ''
'something'.substr(-4,2) => 'hi'
    • slice(indexStart,indexEnd):同substring,但两个参数不能交换位置。如果无论是正索引还是负索引都无法切割出子串,则返回空字符
'something'.slice(-4,-8) => ''

4.Boolean、Undefined、Null

4.1 Boolean

布尔值 ,表示真(true)/假(false)的值

4.2 Undefined

如果声明了一个变量却没有对其初始化,这是变量的默认值。

4.3 Null

空对象,多用在销毁对象,删除事件监听等
typeof null => object

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值