JavaScript中字符串有一种内置功能就是字符串拼接。如果用加号(+)运算符在数字上使用的话,那么表示两个数字的相加。但是如果将它作用于字符串,那么则会触发JavaScript的内置功能字符串拼接,其作用就是将第二个字符串拼接在第一个之后,例如:
不过值得注意一点的是,在JavaScript中,任意数据类型与字符串进行相加都会触发JavaScript的内置字符串拼接功能,最终结果会变成字符串,例如:
当我们想要确定一个字符串的长度时,也就是查看其包含的16位值的个数——可以使用字符串的length属性。比如,我们查看leo变量的长度:
当然字符串除了length属性之外,还包含了很多可以调用的方法。
除了以上方法之外,字符串还支持很多其他的方法,我们会在之后的字符串方法章节进行详细的阐述。
不过,在JavaScript中,字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。类似于上文中提到的replace和toUpperCase()方法都是返回一个新的字符串,原字符串本身并没有发生改变。
当然,我们要变化某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量,例如:
以上的示例中的变量个leo在开始的时候包含字符串"good"。在第二行代码变量leo重新定义值,并把"good"与"bye"进行组合,即最后得出"goodbye"。其实看似很简单的一个字符串拼接,但是其中实现这个操作的步骤过程如下:
1.首先创建创建能容纳7个字符的新字符串。
2.然后在这个字符串中填充"good"和"bye"。
3.最后销毁原来的字符串"good"和字符串"bye"。
不过以上过程都是JavaScript的内部机制,也就是在后台发生的。在某些低级版本的浏览器(例如低于1.0版本的火狐Firefox、IE6等等)中拼接字符串时消耗性能很大,或者也可以说旧版本浏览器本身性能低,所以老式浏览器在字符串拼接时会显得运行很慢。但是在后来的浏览器的版本中已经解决了低效率的问题。
本文原创,未经作者允许不可转载!
更多内容,欢迎关注作者微信公众号:李游Leo老师前端讲堂!
暂无评论
违反法律法规
侵犯个人权益
有害网站环境