资讯专栏INFORMATION COLUMN

数据类型之字符串篇

赵连江 / 1035人阅读

摘要:今天我们要说的就是数据类型,新接触的小伙伴对这个可能就觉得比较迷糊了,怎么数据还有类型当然上一期我们介绍了变量,利用变量我们可以大量减少重复的代码,不知道大家有没有注意这个被存储的值,可是很多变的例如等等等我们会发现一会英文,一会数字。

公布上期答案:小驼峰我们经常用在变量、函数名属性名这样的标识符身上。

而大驼峰的命名方式,我们更多用在class(类)上。

这里需要注意的是:“不是一定要这样操作,而是一种默认的约定。

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

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

当然~上一期我们介绍了变量,利用变量我们可以大量减少重复的代码,不知道大家有没有注意这个被存储的值,可是很多变的~

例如:

var a = "miaov";
var b = 20181217;
var c = true;

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

这到底因为什么呢?

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

数据类型大分类

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

• 基本类型(简单类型)
• 复杂类型(引用类型)

我们来看看基本类型有多基本,复杂类型有多复杂~
有请第一位:

基本类型 - 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",因为已经用不到了,我们需要的是第一步时候创建的新字符串。

这个过程是发生在后台的,我们看不到,在某些旧版本的浏览器(指的是:IE6、低于1.0的Firefox等),因为这种频繁的创建和销毁,导致拼接字符串的性能很差,所以很多时候,我们会选择使用join方法。

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

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

下期预告

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100279.html

相关文章

  • WebSocket系列二进制数据设计与传输

    摘要:本文作为系列的第四篇内容,将会用一个简单的聊天应用把整个传输二进制数据类型的内容连接起来,让用户对整个传输二进制数据的方法有个了解。如何发送二进制数据通过如何设计一个二进制协议一章,我们知道了如何定义传输的二进制数据格式。 概述 通过前三篇博客,我们能够了解在通过WebSocket发送数据之前,我们需要传递的数据是如何变成ArrayBuffer二进制数据的;在我们收到二进制数据之后,我...

    amc 评论0 收藏0
  • django开发model-Field类型讲解

    摘要:今天介绍一下开发中,定义模型时用到的相关字段类型和字段选项。的实例是作为类型保存到数据库中的,默认字符串的最大长度是,但是可以使用参数指定最大长度。浮点类型,用中的实例表示整数类型。关于的字段类型和参数就先讲到这里。 今天介绍一下django开发中,定义模型时用到的相关字段类型和字段选项。 先说说常用的字段类型:1) AutoField: 自增字段类型,当自定义自增类型的id时,可以使...

    glumes 评论0 收藏0
  • WebSocket系列符串如何与二进制数据间进行互相转换

    摘要:总结通过使用和,我们能够在数据和二进制数据中进行互相转换。下一篇系列相关的博客,将会介绍如何通过来向后端传递二进制数据,以及如何处理通过收到的二进制数据。 概述 上一篇博客我们说到了如何进行数字类型(如Short、Int、Long类型)如何在JavaScript中进行二进制转换,如果感兴趣的可以可以阅读本系列第二篇博客——WebSocket系列之JavaScript中数字数据如何转换为...

    stackfing 评论0 收藏0
  • WebSocket系列基础知识入门

    摘要:概述本文是系列的第一篇,主要介绍相关的基础协议知识和。客户端收到响应后,立即发起下一次的请求。收到消息通过事件来接收消息。类型则需要传递一个对象作为参数,相关的内容也将在本系列第二篇中进行介绍。 概述 本文是WebSocket系列的第一篇,主要介绍WebSocket相关的基础协议知识和API。由于WebSocket的相关介绍在MDN中分布较乱,初学者不太容易入门,因此通过本文将相关基础...

    Yuqi 评论0 收藏0

发表评论

0条评论

赵连江

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<