JavaScript的字符串被用于存储和操作的文本。
JavaScript的字符串
一个JavaScript字符串只存储一个系列一样的人物"John Doe" 。
一个字符串可以是引号内的任何文本。 您可以使用单或双引号:
您可以使用引号的字符串里面,只要它们不匹配周围的字符串引号:
例
var answer = "It's alright";
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';
试一试» 字符串长度
字符串的长度在内置在属性长度是发现:
特殊字符
因为字符串必须引号内写的,JavaScript的会误解这个字符串:
var y = "We are the so-called "Vikings" from the north."
字符串将被切碎以"We are the so-called " 。
避免这个问题的解决方案,是使用\转义字符 。
反斜杠转义字符变成特殊字符转换成字符串中的字符:
转义字符(\)也可以用来在一个串中插入其他特殊字符。
这是指可以加入的文本串与反斜线符号特殊字符列表:
码 | 输出 |
---|---|
\' | 单引号 |
\" | 双引号 |
\\ | 反斜线 |
\n | 新队 |
\r | 回车 |
\t | 标签 |
\b | 退格 |
\f | 换 |
打破龙行代码
为了获得最佳的可读性,程序员往往喜欢以避免代码行数超过80个字符。
如果一个JavaScript语句不适合在一行,打破它是运营商后最好的地方:
您也可以分手的文本字符串用一个反斜杠中的代码行:
所述\方法不是ECMAScript (JavaScript)标准。
有些浏览器不允许在后面的空间\字符。
最安全的(但慢一点)的方式,打破了长字符串是用另外的字符串:
你不能打破一个反斜杠代码行:
字符串可以是对象
通常情况下,JavaScript的字符串是基本值,从字面创建: var firstName = "John"
但串也可以定义为与关键字新对象: var firstName = new String("John")
例
var x = "John";
var y = new String("John");
// typeof x will return string
// typeof y will return object
试一试» 不要创建字符串作为对象。 它会减慢执行速度。
在new关键字代码复杂化。 这可能会产生一些意想不到的结果:
当使用==等于运算符,等于字符串看起来平等的:
例
var x = "John";
var y = new String("John");
// (x == y) is true because x and y have equal values
试一试» 当使用===等于运算符,等于字符串不相等的,因为===运营商期望在这两个类型和值相等。
例
var x = "John";
var y = new String("John");
// (x === y) is false because x and y have different types
(string and object)
试一试» 或者更糟。 对象不能比拟的:
例
var x = new String("John");
var y = new String("John");
// (x == y) is false because x and y are different objects
// (x == x) is
true because both are the same object
试一试» JavaScript对象所不能比拟的。