首页 > 编程笔记 > JavaScript笔记
JS字符串简介
网页通常存在大量的文本内容,这些文本内容在 JS 中将作为字符串来处理。在 JS 中使用字符串可以在客户端动态处理网页文本内容。在 JS 中,字符串(string)是由单引号或双引号括起来的一组由 16 位 Unicode 字符组成的字符序列,用于表示和处理文本。
Unicode,也称统一码、万国码。由于计算机只能处理 0 和 1 两种数字,所以对需要处理的数据,要将其编码为二进制。最早的计算机使用一个字节(8bit)来表示一个数据,此时的编码称为 ASCII 编码,该编码能表示大小写英文字母、数字和一些符号,共 255 个字符。
对于汉字、日文和韩文等语言则无法使用 ASCII 码来表示。为此,各个国家制定了不同的编码来表示各自的文字。由于这些不同语言的文字编码并没有完全兼容,所以在进行转码时很可能会出现乱码。为了解决这个问题,就需要将不同语言的编码进行统一。为此 Unicode 编码应运而生。
Unicode 将所有语言都统一到一套编码里,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,从而实现跨语言、跨平台的文本转码。Unicode 通常用两个字节来表示一个字符,而原来使用 ASCII 编码的字符则通过将高字节全部补 0 的方式从单字节变成双字节字符。
由于创建字符串对象需要对字符串直接量进行包装,从而有可能拖慢执行速度,并可能产生其他副作用,所以在实际项目中尽量不要对字符串创建对象,而应直接使用字符串直接量进行处理,或先将其存储在一个变量中,然后针对字符串变量进行操作。
由于字符串直接量、字符串变量和字符串对象三者具有相同的属性和方法,所以在介绍它们的属性和方法时,在不混淆的情况下,将不再具体区别,而是直接使用“字符串”来统称。
Unicode,也称统一码、万国码。由于计算机只能处理 0 和 1 两种数字,所以对需要处理的数据,要将其编码为二进制。最早的计算机使用一个字节(8bit)来表示一个数据,此时的编码称为 ASCII 编码,该编码能表示大小写英文字母、数字和一些符号,共 255 个字符。
对于汉字、日文和韩文等语言则无法使用 ASCII 码来表示。为此,各个国家制定了不同的编码来表示各自的文字。由于这些不同语言的文字编码并没有完全兼容,所以在进行转码时很可能会出现乱码。为了解决这个问题,就需要将不同语言的编码进行统一。为此 Unicode 编码应运而生。
Unicode 将所有语言都统一到一套编码里,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,从而实现跨语言、跨平台的文本转码。Unicode 通常用两个字节来表示一个字符,而原来使用 ASCII 编码的字符则通过将高字节全部补 0 的方式从单字节变成双字节字符。
JS字符串的使用方式
字符串的使用有以下 3 种方式。1) 字符串直接量
字符串直接量就是直接使用单引号或双引号括起来的一组字符序列,例如:"您好",'hello'。2) 字符串变量
字符串变量是指值为字符串直接量的变量,例如:var str=‘您好’,变量 str 为字符串变量。3) 字符串对象
字符串对象通过使用关键字 new 且包装字符串直接量来创建,创建格式如下:var String对象名=new String(字符串);
例如:var str=new String(“hi”),此时 str 是一个字符串对象。对象既可以有存储数据的属性,又可以包含处理数据的函数。为了便于对字符串直接量和字符串变量的处理,JavaScript 处理它们时,首先会将其转换为一个伪对象(等效于字符串对象),因而字符串直接量和字符串变量也具有属性和方法,这些属性及方法和字符串对象的属性和方法是完全一样。注意:对象名的命名遵循标识符命名规范。
由于创建字符串对象需要对字符串直接量进行包装,从而有可能拖慢执行速度,并可能产生其他副作用,所以在实际项目中尽量不要对字符串创建对象,而应直接使用字符串直接量进行处理,或先将其存储在一个变量中,然后针对字符串变量进行操作。
由于字符串直接量、字符串变量和字符串对象三者具有相同的属性和方法,所以在介绍它们的属性和方法时,在不混淆的情况下,将不再具体区别,而是直接使用“字符串”来统称。
JS转义字符
需要注意的是,在字符串中存在\
时,如果其后面跟着 n、r、t 等某些特定的字符,则\
会和后面的字符组成一个转义字符,此时会改变\
后面跟着的那个字符的常规解释,例如:\n
表示换行,\"
表示字符串中的双引号。所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算