var longString = "One piece " + "plus one more piece."
要将多个字符串累积为一个字符串,还可以使用"+="操作符:
var result = ""
result += "My name is Anders"
result += " and my age is 25"
要在字符串中添加换行符,需要使用转义字符"":
var confirmString = "You did not enter a response to the last " +
"question.Submit form anyway?"
var confirmValue = confirm(confirmString)
但这种方法只能用在像警告、确认对话框之类的情况下,如果将这段文本作为HTML内容呈现,就无效了,此时用"<br>"代替它:
var htmlString = "First line of string.<br>Second line of string."
document.write(htmlString)
String对象还提供了方法concat(),它完成与"+"相同的功能:
string.concat(value1, value2, ...)
不过concat()方法显然不如"+"来得直观简洁。
在JavaScript中会经常遇到字符串拼接,但是如果要拼接的字符串过长就比较麻烦了。如果在一行的话,可读性太差;如果换行的话,会直接报错。
现在就来介绍几个JavaScript拼接字符串的几个小技巧(主要针对字符串过长的情况)。
1. 字符串相加(+)
1
2
3
var empList = ' <li data-view-section="details">'+
'<span>Hello world</span>'+
'</li>'
2.利用反斜杠拼接字符串
1
2
3
var empList = ' <li data-view-section="details">\
<span>Hello world</span>\
</li>'
3. 利用数组拼接字符串
复制代码代码如下:
var empList = ['<li data-view-section="details">', '<span>Hello world</span>','</li>'].join("")
利用数组的join方法,把数组转成字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function StringBuffer(){
this.buffer = []
}
//将新添加的字符串添加到数组中
StringBuffer.prototype.append = function(str){
this.buffer.push(str)
return this
}
//转成字符串
StringBuffer.prototype.toString = function(){
return this.buffer.join("")
}
//用法
var buffer = new StringBuffer()
buffer.append("hello")
buffer.append(',world')
console.log(buffer.toString())
在数组方法的基础上可以封装一个类似Java中的StringBuffer的类来完成字符串的拼接。
以上所述就是本文的全部内容了