JS-05-字符串

一、字符串的表示

JavaScript的字符串就是用'...'或"..."括起来的字符表示。

如果'本身也是一个字符,那就可以用"..."括起来,比如:

javascript 复制代码
var a = "I'm ok";

如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:

javascript 复制代码
var a = "I\'m \"ok\""; // I'm "OK"

二、转义字符

转义字符\可以转义很多字符,比如:\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\。

ASCII字符可以以\x##形式的十六进制表示,例如:

javascript 复制代码
var a = '\x41'; // 完全等同于 'A'

还可以用\u####表示一个Unicode字符:

javascript 复制代码
var a = '\u4e2d\u6587'; // 完全等同于 '中文'

三、多行字符串

1、用\n转移字符实现换行;

2、用反引号`...`表示;(比\n转移字符方便)(ES6新增)

示例:

结果展示:

注意:反引号在键盘的ESC下方,数字键1的左边:

四、模版字符串

要把多个字符串连接起来的方式:

1、用+号连接;

2、用${变量名},自动替换字符串中的变量;(ES6新增)

【注意】:

用${变量名},自动替换字符串中的变量时,要用反引号!!!

示例:

javascript 复制代码
        let name = '小明';
        let age = 20;
        // 方式一
        let message1 = '你好, ' + name + ', 你今年' + age + '岁了!';
        // 方式二
        let message2 = `你好, ${name}, 你今年${age}岁了!`;
        console.log(message1);
        console.log(message2);

五、操作字符串

5-1、获取字符串的长度

javascript 复制代码
        var s = 'Test';
        console.log("s.length = " + s.length);

5-2、获取字符串某个指定位置的字符

使用类似Array的下标操作,索引号从0开始。

javascript 复制代码
var s = 'Hello, world!';

s[0]; // 'H'
s[6]; // ' '
s[7]; // 'w'
s[12]; // '!'
s[13]; // undefined 超出范围的索引不会报错,但一律返回undefined

【注意】:

字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果!

javascript 复制代码
var s = 'Test';
s[0] = 'X';
alert(s); // s仍然为'Test'

以下方法本身不会改变原有字符串的内容,而是返回一个新字符串。

5-3、toUpperCase把一个字符串全部变为大写

javascript 复制代码
var s = 'Hello';
s.toUpperCase(); // 返回'HELLO'

5-4、toLowerCase把一个字符串全部变为小写

javascript 复制代码
var s = 'Hello';
var lower = s.toLowerCase(); // 返回'hello'并赋值给变量lower
lower; // 'hello'

5-5、indexOf搜索指定字符串出现的位置

javascript 复制代码
var s = 'hello, world';
s.indexOf('world'); // 返回7
s.indexOf('World'); // 没有找到指定的子串,返回-1

5-6、substring返回指定索引区间的子串

javascript 复制代码
var s = 'hello, world'
s.substring(0, 5); // 从索引0开始到索引5(不包括索引5),返回'hello'
s.substring(7); // 从索引7开始到结束,返回'world'

更多字符串的相关操作,可以直接去网上搜,很多!

相关推荐
王哲晓4 分钟前
第三十章 章节练习商品列表组件封装
前端·javascript·vue.js
理想不理想v8 分钟前
‌Vue 3相比Vue 2的主要改进‌?
前端·javascript·vue.js·面试
酷酷的阿云18 分钟前
不用ECharts!从0到1徒手撸一个Vue3柱状图
前端·javascript·vue.js
aPurpleBerry1 小时前
JS常用数组方法 reduce filter find forEach
javascript
ZL不懂前端2 小时前
Content Security Policy (CSP)
前端·javascript·面试
乐闻x2 小时前
ESLint 使用教程(一):从零配置 ESLint
javascript·eslint
我血条子呢2 小时前
[Vue]防止路由重复跳转
前端·javascript·vue.js
半开半落2 小时前
nuxt3安装pinia报错500[vite-node] [ERR_LOAD_URL]问题解决
前端·javascript·vue.js·nuxt
理想不理想v3 小时前
vue经典前端面试题
前端·javascript·vue.js