JavaScript 字符串由 '' 或 "" 括起来的字符表示。
如果 ' 本身也是一个字符,则可以用“”括起来。 例如,“I'mOK”包含六个字符 I、'、m、空格、O 和 K。
如果字符串中同时包含'和"怎么办?可以使用通配符来标记,例如:
'I'm "OK"!';
所表达的字符串内容为:我“OK”!
通配符可以是通配符,例如n表示换行符,t表示制表符javascript 字符串 转数字,字符本身也需要通配符,所以\表示的字符是。
ASCII 字符可以用十六进制补码的形式表示为x##,例如:
'x41'; // 完全等同于 'A'
您还可以使用 u#### 来表示 Unicode 字符:
'u4e2du6587'; // 完全等同于 '中文'
多行字符串
由于用n写多行字符串比较麻烦,所以最新的ES6标准增加了一种新的多行字符串的表示方式,用后冒号*...*表示:
`这是一个 多行 字符串`;
注:反冒号位于鼠标ESC下方、数字键1右侧:
模板字符串
要连接多个字符串,可以使用+号来连接:
var name = '小明'; var age = 20; var message = '你好, ' + name + ', 你今年' + age + '岁了!'; alert(message);
如果需要连接的变量较多,使用+号会比较麻烦。 ES6新增了一个模板字符串,其表达方式与之前的多行字符串相同javascript 字符串 转数字,并且会手动替换字符串中的变量:
var name = '小明'; var age = 20; var message = `你好, ${name}, 你今年${age}岁了!`; alert(message); 'use strict'; // 如果浏览器支持模板字符串,将会替换字符串内部的变量: var name = '小明'; var age = 20;
操作字符串
字符串的常见操作如下:
var s = 'Hello, world!'; s.length; // 13
要获取字符串中指定位置的字符,请使用类似数组的下标操作,字符串编号从 0 开始:
var s = 'Hello, world!'; s[0]; // 'H' s[6]; // ' ' s[7]; // 'w' s[12]; // '!' s[13]; // undefined 超出范围的索引不会报错,但一律返回undefined
需要注意的是,字符串是不可变的,如果字符串的索引参数没有错误,则没有任何效果:
var s = 'Test'; s[0] = 'X'; alert(s); // s仍然为'Test'
JavaScript 为字符串提供了一些常用的方法。 注意,调用该方法本身不会改变原字符串的内容,而是返回一个新的字符串:
改为大写
toUpperCase() 将字符串更改为全部小写:
var s = 'Hello'; s.toUpperCase(); // 返回'HELLO'
转为小写
toLowerCase() 将字符串更改为全部大写字母:
var s = 'Hello'; var lower = s.toLowerCase(); // 返回'hello'并赋值给变量lower lower; // 'hello'
指数
indexOf() 将搜索指定字符串的出现位置:
var s = 'hello, world'; s.indexOf('world'); // 返回7 s.indexOf('World'); // 没有找到指定的子串,返回-1
子串
substring() 返回指定索引范围的子字符串:
var s = 'hello, world' s.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello' s.substring(7); // 从索引7开始到结束,返回'world'