JavaScript复习——JS教程-数据类型

概述

1.简介

JavaScript 的数据类型,共有六种。(ES6 又新增了第七种 Symbol 类型的值)

  • 数值(number):整数和小数
  • 字符串(string):文本
  • 布尔值(boolean):表示真伪的两个特殊值
  • undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
  • null:表示空值,即此处的值为空。
  • 对象(object):各种值组成的集合。
    [ 数值、字符串、布尔值这三种类型,合称为原始类型(primitive type)的值,即它们是最基本的数据类型,不能再细分了。对象则称为合成类型(complex type)的值,因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。至于undefined和null,一般将它们看成两个特殊值]
    对象是最复杂的数据类型,又可以分成三个子类型。
  • 狭义的对象(object)
  • 数组(array)
  • 函数(function)

2.typeof运算符

JavaScript 有三种方法,可以确定一个值到底是什么类型。

  • typeof运算符
    数值、字符串、布尔值分别返回number、string、boolean
    函数返回function
    undefined返回undefined
    对象返回object
    空数组([])的类型也是object
  • instanceof运算符
    instanceof运算符可以区分数组和对象
  • Object.prototype.toString方法

null, undefined 和布尔值

1.null 和 undefined

1.1概述

区别:null是一个表示“空”的对象,转为数值时为0;undefined是一个表示"此处无定义"的原始值,转为数值时为NaN

1.2用法和含义

在这里插入图片描述

2.布尔值

如果 JavaScript 预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。转换规则是除了下面六个值被转为false,其他值都视为true。

  • undefined
  • null
  • false
  • 0
  • NaN
  • ""或’’(空字符串)
    【 注意,空数组([])和空对象({})对应的布尔值,都是true。】

数值

1.概述

1.1整数和浮点数

JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。
某些运算只有整数才能完成,此时 JavaScript 会自动把64位浮点数,转成32位整数

1.2数值精度

字符串

1.概述

1.1定义

  • 字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。(双引号同)
  • 由于 HTML 语言的属性值使用双引号,所以很多项目约定 JavaScript 语言的字符串只使用单引号
  • 字符串默认只能写在一行内,分成多行将会报错。如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。
  • 连接运算符(+)可以连接多个单行字符串,将长字符串拆成多行书写,输出的时候也是单行
    在这里插入图片描述

1.2转义

如果字符串的正常内容之中,需要包含反斜杠,则反斜杠前面需要再加一个反斜杠,用来对自身转义。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3字符串与数组

  • 字符串可以被视为字符数组,因此可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从0开始)
  • 如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回undefined
  • 无法改变字符串之中的单个字符。
    在这里插入图片描述

1.4 length属性

在这里插入图片描述

2.字符集

  • JavaScript 使用 Unicode 字符集。不仅以 Unicode 储存字符,还允许直接在程序中使用 Unicode 码点表示字符,即将字符写成\uxxxx的形式,其中xxxx代表该字符的 Unicode 码点。比如,\u00A9代表版权符号。解析代码的时候,JavaScript 会自动识别一个字符是字面形式表示,还是 Unicode 形式表示。输出给用户的时候,所有字符都会转成字面形式。

  • 每个字符在 JavaScript 内部都是以16位(即2个字节)的 UTF-16 格式储存。也就是说,JavaScript 的单位字符长度固定为16位长度,即2个字节。

  • 但是,UTF-16 有两种长度:对于码点在U+0000到U+FFFF之间的字符,长度为16位(即2个字节);对于码点在U+10000到U+10FFFF之间的字符,长度为32位(即4个字节),而且前两个字节在0xD800到0xDBFF之间,后两个字节在0xDC00到0xDFFF之间

  • 总结:对于码点在U+10000到U+10FFFF之间的字符,JavaScript 总是认为它们是两个字符(length属性为2)。所以处理的时候,必须把这一点考虑在内,也就是说,JavaScript 返回的字符串长度可能是不正确的

3. Base64转码

文本里面包含一些不可打印的符号,比如 ASCII 码0到31的符号都无法打印出来,这时可以使用 Base64 编码,将它们转成可以打印的字符。另一个场景是,有时需要以文本格式传递二进制数据,那么也可以使用 Base64 编码。
所谓 Base64 就是一种编码方法,可以将任意值转成 0~9、A~Z、a-z、+和/这64个字符组成的可打印字符。使用它的主要目的,不是为了加密,而是为了不出现特殊字符,简化程序的处理。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值