赞
踩
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
+ [.length](#length_113)
+ [访问字符、charAt()、for..of](#charAtforof_125)
+ [字符串不可变](#_165)
+ [.toLowerCase()、.toUpperCase()](#toLowerCasetoUpperCase_189)
+ [.indexOf()、.lastIndexOf() 查找子串](#indexOflastIndexOf__205)
+ [按位取反技巧(不推荐,但要会)](#_241)
+ [.includes()、.startsWith()、.endsWith()](#includesstartsWithendsWith_260)
+ [.substr()、.substring()、.slice()](#substrsubstringslice_286)
+ [.codePointAt()、String.fromCodePoint()](#codePointAtStringfromCodePoint_350)
+ [.localeCompare()](#localeCompare_405)
+ [常用方法](#_435)
+ [进阶内容](#_461)
+ - [生僻字、emoji、特殊符号](#emoji_463)
- [规范化](#_506)
+ [总结](#_562)
不论在何种编程语言中,字符串都是重要的数据类型,跟随我了解更多JavaScript
字符串知识吧!
字符串就是由字符组成的串,如果学习过C
、Java
就应该知道,字符本身也可以独立成为一个类型。但是,JavaScript
没有单个的字符类型,只有长度为1
的字符串。
JavaScript
的字符串采用固定的UTF-16
编码,不论我们编写程序时采用何种编码,都不会影响。
字符串有三种写法:单引号、双引号、反引号。
let single = 'abcdefg';//单引号
let double = "asdfghj";//双引号
let backti = `zxcvbnm`;//反引号
单、双引号具有相同的地位,我们不做区分。
字符串格式化
反引号允许我们使用${...}
优雅的格式化字符串,取代使用字符串加运算。
let str = `I'm ${Math.round(18.5)} years old.`;
console.log(str);
代码执行结果:
多行字符串
反引号还可以允许字符串跨行,当我们编写多行字符串的时候非常有用。
let ques = `Is the author handsome?
A. Very handsome;
B. So handsome;
C. Super handsome;
`;
console.log(ques);
代码执行结果:
是不是看起来觉得也没有什么?但是使用单双引号是不能实现的,如果想要得到同样的结果可以这么写:
let ques = 'Is the author handsome?\nA. Very handsome;\nB. So handsome;\nC. Super handsome;';
console.log(ques);
以上代码包含了一个特殊字符\n
,它是我们编程过程中最常见的特殊字符了。
字符\n
又名"换行符",支持单双引号输出多行字符串。当引擎输出字符串时,若遇到\n
,就会另换一行继续输出,从而实现多行字符串。
虽然\n
看起来是两个字符,但是只占用一个字符位置,这是因为\
在字符串中是转义符,被转义符修饰的字符就变成了特殊字符。
特殊字符列表
特殊字符 | 描述 |
---|---|
\n | 换行符,用于新起一行输出文字。 |
\r | 回车符,将光标移到行首,在Windows 系统中使用\r\n 表示一个换行,意思是光标需要先到行首,然后再到下一行才可以换一个新的行。其他系统直接使用\n 就可以了。 |
\' \" | 单双引号,主要是因为单双引号是特殊字符,我们想在字符串中使用单双字符就要转义。 |
\\ | 反斜杠,同样因为\ 是特殊字符,如果我们就是想输出\ 本身,就要对其转义。 |
\b \f \v | 退格、换页、垂直标签——已经不再使用。 |
\xXX | 编码为XX 的十六进制Unicode 字符,例如:\x7A 表示z (z 的十六进制Unicode 编码为7A )。 |
\uXXXX | 编码为XXXX 的十六进制Unicode 字符,例如:\u00A9 表示 © 。 |
\u{X...X} (1-6 个十六进制字符) | UTF-32 编码为X...X 的Unicode 符号。 |
举个例子:
console.log('I\'m a student.');// \'
console.log("\"I love U\"");// \"
console.log("\\n is new line character.");// \n
console.log('\u00A9')// ©
console.log('\u{1F60D}');// 声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/926375
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。