JavaScript 字符串
JavaScript 字符串用于存储和操作文本。
㈠JavaScript 字符串
⑴JavaScript 字符串是引号中的零个或多个字符。
例如:var x = "Bill Gates"
⑵能够使用单引号或双引号:
var carname = "Volvo XC60";
var carname = 'Volvo XC60';
⑶可以使用索引位置来访问字符串中的每个字符:
var character = carname[7];
字符串的索引从 0 开始,这意味着第一个字符索引值为 [0],第二个为 [1], 以此类推。
⑷可以在字符串中使用引号,字符串中的引号不要与字符串的引号相同:
var answer = "It's alright";
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';
⑸也可以在字符串添加转义字符来使用引号:
var x = 'It\'s alright';
var y = "He is called \"Johnny\"";
㈡字符串长度
内建属性 length 可返回字符串的长度:
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
㈢特殊字符
⑴在 JavaScript 中,字符串写在单引号或双引号中。
示例:JavaScript 会误解这段字符串:
var y = "中国是瓷器的故乡,因此 china 与"China(中国)"同名。"
该字符串将被切为 "中国是瓷器的故乡,因此 china 与"。
⑵如何解决以上的问题呢?
可以使用反斜杠 (\) 来转义 "China(中国)"字符串中的双引号。
反斜杠是一个转义字符。 转义字符将特殊字符转换为字符串字符:
转义字符 (\) 可以用于转义撇号,换行,引号,等其他特殊字符。
⑶列举了在字符串中可以使用转义字符转义的特殊字符:
⑷示例
①序列 \" 在字符串中插入双引号:
var x = "中国是瓷器的故乡,因此 china 与\"China(中国)\"同名。"
②序列 \' 在字符串中插入单引号:
var x = 'It\'s good to see you again';
③序列 \\ 在字符串中插入反斜杠:
var x = "字符 \\ 被称为反斜杠。";
㈣字符串可以是对象
⑴通常,JavaScript 字符串是原始值,通过字面方式创建:
var firstName = "Bill"
⑵但是字符串也可通过关键词 new 定义为对象:
var firstName = new String("Bill")
⑶示例:
var x = "John";
var y = new String("John");
typeof x // 返回 String
typeof y // 返回 Objec
注:不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用
new 关键字使代码复杂化。也可能产生一些意想不到的结果
⑷当使用 == 相等运算符时,相等字符串是相等的;
=== 为绝对相等,即数据类型与值都必须相等。
当使用 === 运算符时,相等字符串是不相等的。
请注意 (x==y) 与 (x===y) 的区别。
JavaScript 对象无法进行对比,比较两个 JavaScript 将始终返回 false。
示例1:
var x = "Bill";
var y = new String("Bill");
// (x == y) 为 true,因为 x 和 y 的值相等
示例2:
var x = "John";
var y = new String("John");
(x === y) // 结果为 false,因为 x 是字符串,y 是对象
㈤字符串属性和方法
原始值字符串,如 "John", 没有属性和方法(因为他们不是对象)。
原始值可以使用 JavaScript 的属性和方法,因为 JavaScript 在执行方法和属性时可以把原始值当作对象。
⑴字符串属性
⑵字符串方法