• JavaScript字符串类型


    1. 基础使用

    Js中的字符串可以使用单引号也可以使用双引号,单引号可以嵌套双引号,双引号也可以嵌套单引号

    var str = "hello 'tom'";  //hello 'tom'
    var str1 = 'hello "tom"';  //hello "tom"
    
    • 1
    • 2

    字符串不可以换行,如果非要使用换行要在行末加上\反斜杠后面跟行换行,这种只是写法上换行实际结果还是一行

    var str = "a sample \
    string";
    
    • 1
    • 2

    2. 转义

    • \0 null
    • \n 换行符
    • \b 后退键
    • \t 制表符
    • \r 回车符
    • \v 垂直制表符
    • \f 换页符
    • ’ 单引号
    • " 双引号
    • \ 反斜杠
    console.log('1\n2');
    // 1
    // 2
    
    • 1
    • 2
    • 3

    如果反斜杠后面跟的是非转移字符则直接省略反斜杠

    console.log('1\a2'); //1a2
    
    • 1

    在字符串中显示反斜杠要对反斜本身进行转义

    console.log('1\\a2'); //1\a2
    
    • 1

    除了上述的转移字符,js支持使用unicode编码表示字符

    var f\u006F\u006F = 'abc';
    foo // "abc"
    
    • 1
    • 2

    3. 字符串和数组

    字符串可以看作是类型为字符的数组,它具有数组的length属性,还可以使用方括号运算符

    var str = 'apple';
    console.log(str[0],str.length); //a,5
    
    • 1
    • 2

    通过数组的方式只能访问字符串不能进行操作

    delete str[1];
    str[2] = 'q';
    str.length = 10;
    console.log(str[1],str[2],str.length); //p,p,5
    
    • 1
    • 2
    • 3
    • 4

    4. Base64

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

    Javascript提供了任意字符和Base64相互转换的方法:

    • btoa(); 任意字符转base64
    • atob(); base64转回原来的值
    var str = 'hello base64';
    console.log(btoa(str));            //aGVsbG8gYmFzZTY0
    console.log(atob('aGVsbG8gYmFzZTY0')); //hello base64
    
    • 1
    • 2
    • 3

    这两个只支持传入ASCII的字符,如果要传入unicode字符,要将base64先转码再使用btoa方法

    var hello = '你好';
    console.log(btoa(encodeURIComponent(hello))); //JUU0JUJEJUEwJUU1JUE1JUJE
    console.log(decodeURIComponent( atob('JUU0JUJEJUEwJUU1JUE1JUJE'))); //你好
    
    • 1
    • 2
    • 3
  • 相关阅读:
    GO docker化编译平台现象不一致问题
    【iPad已停用】解锁教程
    关于lua源代码中的EXTRA_STACK宏
    .NET性能优化-推荐使用Collections.Pooled(补充)
    数据结构与算法—双链表
    安装自己build iso报错
    使用Mybatis实现基本的增删改查------数据输出
    C标准文档
    「北大社送书」学习Flutter编程 — 《从零基础到精通Flutter开发》
    攻防世界-web-Training-WWW-Robots
  • 原文地址:https://blog.csdn.net/qq_44621394/article/details/126807884