字符串编程入门的人都知道是什么,但是javascript的字符串和C/C++以及Java等主流语言不太一样,单引号和双引号括起来都是一样:
> "aaa" == 'aaa'
true
但是为什么同时支持这两种呢,我个人觉得可能是为了满足大家的习惯吧。
在javascript里面怎么拼接字符串呢?我搜索一圈发现只有一种:
> 'aaaa'+'bbb'
'aaaabbb'
不过在ES6规范里有这么一个方法,我觉得很不错:
> var a = "hello"
undefined
> `${a} world`
'hello world'
感兴趣的可以看看阮一峰的文章,写的很详细:
http://es6.ruanyifeng.com/#docs/string
下面介绍几个字符串常用的方法:
string.charAt(pos)
> var string = 'abcd'
undefined
> string.charAt(1)
'b'
> string.charAt(5)
''
string1 + string2... 和string.concat(string2...)
很明显可以看出这个是字符串拼接:
> "abc" + "def"
'abcdef'
> var string1 = "abc"
undefined
> string1.concat("aaa", 'bbb')
'abcaaabbb'
不过后者几乎不被使用,应该+做字符串拼接的效率已经很高了。
string.indexOf(subString, position)
<pre name="code" class="javascript">> var string = 'aabaacaadaae'
undefined
> string.indexOf('aa')0> string.indexOf('aa', 3)3> string.indexOf('aa', 10)-1
indexOf 方法返回position开始的一个子串的位置信息,如果position不传则从第一个字符开始匹配,如果匹配不到,就返回-1
string.lastIndexOf(subString, position)
> var string = 'aabaacaadaae'
undefined
> string.lastIndexOf('aa', 10)
9
> string.lastIndexOf('aa', 5)
3
> string.lastIndexOf('aa', 1)
0
> string.lastIndexOf('aa', 0)
0
> string.lastIndexOf('aa', -1)
0