JavaScript 的数据类型【三】(字符串)

  • A+

JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有八种。数值字符串布尔值这三种是原始类型。对象则称为合成类型。undefinednull,为两个特殊值。function,函数也为一种基础类型。ES6 添加了Symbol类型的值。

一.概念

1.单引号和双引号

  1. 字符串就是零个或多个排在一起的字符
  2. 字符串使用单引号或双引号都可以,单引号中可以包含双引号,双引号中可以包含单引号
    'abc'
    "abc"
    'key = "value"'
    "I'm Joey"
    
  3. 单引号中引用单引号或者双引号中引用双引号需要\转义
    'Did she say \'Hello\'?'
    // "Did she say 'Hello'?"
    
    "Did she say \"Hello\"?"
    // "Did she say "Hello"?"
    
  4. 将长字符串写成多行
    //此种写法会报错,不可直接回车使用
    'a
    b
    c'
    // SyntaxError: Unexpected token ILLEGAL
    
    //1. 可在字符的结尾处使用\来换行,\后不可添加例如空格的字符
    var longString = 'Long \
    long \
    long \
    string';
    
    longString
    // "Long long long string"
    //2. 可以使用+拼接多个字符
    var longString = 'Long '
    + 'long '
    + 'long '
    + 'string';
    

2.转义字符

  • 转义字符,在字符串中有特殊含义的字符组合,例如1\n2输出的时候1换行2
    \0 :null(\u0000)
    \b :后退键(\u0008)
    \f :换页符(\u000C)
    \n :换行符(\u000A)
    \r :回车键(\u000D)
    \t :制表符(\u0009)
    \v :垂直制表符(\u000B)
    \' :单引号(\u0027)
    \" :双引号(\u0022)
    \\ :反斜杠(\u005C)

3.字符串与数组

  • 字符串可以被视为字符数组,① 可以使用角标的方式获取,单个字符,角标从0开始,但是无法通过角标修改某一点字符的内容。②若角标越界,或者非数字,则返回undefined
    //1.获取字符
    var s = 'hello';
    s[0] // "h"
    s[1] // "e"
    s[4] // "o"
    
    // 直接对字符串使用方括号运算符
    'hello'[1] // "e"
    
    //2.返回undefined
    'abc'[3] // undefined
    'abc'[-1] // undefined
    'abc'['x'] // undefined
    

4.length 属性

  • length属性返回字符串的长度,该属性也是无法改变的

二.字符集和Base64 转码

1.字符集

  • avaScript 使用 Unicode 字符集。JavaScript 引擎内部,所有字符都用 Unicode 表示
  • 每个字符在 JavaScript 内部都是以16位(即2个字节)的 UTF-16 格式储存。也就是说,JavaScript 的单位字符长度固定为16位长度,即2个字节

2. Base64 转码

  • 使用Base64 进行ASCII 码的编码,非 ASCII 码的字符会报错;JavaScript提供2个Base64编码的方法
    btoa():任意值转为 Base64 编码
    atob():Base64 编码转为原来的值
zhangfeng

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: