JS 里的数据类型

js的7种数据类型
  • 基本类型: number / string / boolean / symbol (es6添加的)
  • 特殊类型:undefined / null
  • 复合类型 object (包含 Array function 等)
number
  • 整数和小数:1 1.1 .1
  • 科学记数法:1.23e2
  • 十进制不戴帽子(首位什么也不加)
  • 二进制带个帽子上面写着0B/0b 。
  • 八进制戴的帽子上面写着0。
  • 十六进制的帽子上面写着0X/0x。
0b11         //3
0xff           //255
0.0000001        // 1e-7
2.2 + 2.1         //4.300000000000001
3 / 0             // Infinity
undefined + 1    //NaN
NaN !== NaN      // true
  • 备注:数值的储存方式是64位浮点数来储存的,所以js的计算并不精确
  • Infinity叫做无穷,数学符号是∞.有正负之分
  • 当一个不存在的值进行运算时,就会得到NaN的结果。NaN不属于数字,自己也不等于自己,判断一个值是否NaN 用isNaN()
string
  • 空字符串:’’
  • 多行字符串:
 var s = '12345' +
             '67890' // 无回车符号
 或
 var s = `12345
 67890` // 含回车符号
  • 一些转义标识符
/' 表示单引号
/" 表示双引号
/n 表示换行
/r 表示回车
// 表示/
  • Base64转码–两个语句
//  btoa():任意值转化成Base64
// atob() : Base64转化成原值
// 当非ASCⅡ要转入时,要加一层转码如下:
function b64Encode(str) {
  return btoa(encodeURIComponent(str));
}

function b64Decode(str) {
  return decodeURIComponent(atob(str));
}

b64Encode('你好') // "JUU0JUJEJUEwJUU1JUE1JUJE"
b64Decode('JUU0JUJEJUEwJUU1JUE1JUJE') // "你好"
boolean
  • 只有两个值:true 和 false
  • a && b 在 a 和 b 都为 true 时,取值为 true;否则为 false
  • a || b 在 a 和 b 都为 false 时,取值为 false;否则为 true
undefined 和 null
  • 两个都是表示没有值
  • 当一个变量没有赋值,那么返回undefined
  • 如果想有一个对象,但还没有赋值,推荐使用null
  • 如果有一个非对象,且不想给他赋值,使用undefined(直接不赋值即可)
object
  • object 就是上面几种基本类型(无序地)组合在一起
  • object 里面可以有 object
  var person = {
      name: 'Frank', 
      'child': {
          name: 'Jack',
          '':'hahha'                       //合法的
      }, // 最后这个逗号可有可无
  }
  • object 的 key 一律是字符串,不存在其他类型的 key。
    – object[‘key’] 可以写作 object.key
在符合标识符的情况下       person.name    等价于  person['name']     
  • object[’’] 是合法的
  • 注意 object.key 与 object[key] 不同
var apple = "like";
person[apple]     其实是  person['like']   
  • delete object[‘key’]
delete person['name']
  • ‘key’ in object
symbol

Symbol 生成一个全局唯一的值。

typeof
xxx 的类型stringnumberbooleansymbolundefinednullobjectfunction
typeof xxx‘string’‘number’‘boolean’‘symbol’‘undefined’‘object’‘object’‘function’

注意 function 并不是一个类型

这里参照了阮一峰的JS教程 https://wangdoc.com/javascript/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值