数据类型之字符串篇

公布上期答案:小驼峰咱们常常用在变量、函数名属性名这样的标识符身上。 而大驼峰的命名方式,咱们更多用在class(类)上。后端

这里须要注意的是:“不是必定要这样操做,而是一种默认的约定。浏览器

听从这样的方式命名,不容易一眼被看出来刚学习js哦~。函数

今天咱们要说的就是数据类型,新接触的小伙伴对这个可能就以为比较迷糊了,怎么数据还有类型??性能

固然~上一期咱们介绍了变量,利用变量咱们能够大量减小重复的代码,不知道你们有没有注意这个被存储的值,但是不少变的~学习

例如:优化

var a = 'miaov';
var b = 20181217;
var c = true;
复制代码

等等等...咱们会发现一会英文,一会数字。可是有的加引号,有的就不加??spa

这到底由于什么呢?3d

这就是咱们今天要介绍的大主题:数据类型,接下来~就有请这个你们庭成员一位一位登场吧~code

数据类型大分类cdn

咱们把数据类型分为两个大类:

• 基本类型(简单类型)

• 复杂类型(引用类型)

咱们来看看基本类型有多基本,复杂类型有多复杂~

有请第一位:

基本类型 - String

String类型是由0或者多个字符组成的,就像咱们吃烧烤,给全部食材串起来~因此咱们把String叫作字符串。

那咱们怎么分辨什么是字符串呢?你们注意看图,串的先后都露出来签。

咱们的字符串的先后也有一个标志,就是——引号,字符串由一对双引号("")或者单引号('')包裹,在这里双引号和单引号没有差异~因此,如下两种都是字符串的表现方式:

var a = "miaov";
var b = 'miaov';
复制代码

这里对于学习后端的同窗可能会不太习惯~由于在后端中,单引号和双引号是不同的,单引号只能是字符。

可是在ECMAScript中是没有差异的。须要额外注意的是符号必须是配对的,不能出现以下配对:

var str = 'miaov"; //左边单引号 右边双引号,不配对
复制代码

为何要强调这个问题呢?由于有时候咱们想要存储的字符串可能自己本身就带有引号,像下面这样:

//这是"miaov"的红宝书系列  <-这是我想存的内容

var str = "这是"miaov"的红宝书系列";  //错误的方式

var str = '这是"miaov"的红宝书系列';  //这才是正确的
复制代码

若是又有双引号又有单引号怎么办?

同窗,你思惟很活跃哦~

这时候咱们须要用到一个东西 —— 转义。

转义是一个 \ 咱们来看一下案例:

以上为str中存储值打印的截图

字符串的特色

ECMAScript中的字符串是不可变的,也就是说你只要建立出来,它就不能被改变了,可是不少小伙伴以为,不会啊:

var lang = "Java";
lang = lang + "Script";
复制代码

这不就改过来了么??(关于+号,咱们后面再说,这里你们只要知道,它就是拼接的功能)

事实上在这里,当咱们想要改变某个变量保存的字符串,首先,它是销毁了原来的字符串的!!而后再用另外一个包含新值的字符串填充该变量的。

那么上面这个案例它具体是怎么个步骤呢?

来看一下

  • 第一步:建立一个能够容纳10个字符的新字符串

  • 第二步:在这个字符串中填充"Java"和"Script"

  • 第三步:销毁原来的字符串"Java"和"Script",由于已经用不到了,咱们须要的是第一步时候建立的新字符串。

这个过程是发生在后台的,咱们看不到,在某些旧版本的浏览器(指的是:IE六、低于1.0的Firefox等),由于这种频繁的建立和销毁,致使拼接字符串的性能不好,因此不少时候,咱们会选择使用join方法。

不过在现代浏览器中对字符串的“+”运算作了优化,已经解决了这个问题,就能够放心使用哦~

问题来了:那么"+"的拼接方式仍是最慢的么?知道的同窗赶忙留言哦~下期咱们揭晓答案!

下期预告

下期带来基本类型 - Number,不是数字的数字类型等你来看~

相关文章
相关标签/搜索