十年专注于品牌网站建设 十年专注于品牌网站建设,低调、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

ECMAScript函数中的字符串操作方法介绍

百恒网络 2012-09-12 1505

下面介绍与操作字符串有关的几个方法。第一个就是concat().用于将一或多个字符串拼接起来,返回拼接得到的新字符串。先来看一个例子:

var stringValue= "hello";

var result=stringValue.concat( "world");

alert( result); //"hello world"

alert (stringValue)j //"hello"

在这个例子中,通过stringValue调用concat()方法返回的结果是"hello world"——但stringValue的值则保持不变。实际上,concat()方法可以接受任意多个参数,也就是说可以通过它拼接任意多个字符串。再看一个例子:

var stringValue="hello";

var result = stringValue.concat("world","!");

alert(result); //"hello world!"

alert(stringValue)j //"hello"

这个例子将"world"和"!"拼接到了"hello"的末尾。虽然concat()是专门用来拼接字符串的方法,但实践中使用更多的还悬加号操作符(+),南昌网站建设公司技术员通常也是用+来实现字符串的连接.而且,使用加号操作符在大多数情况下都比使用concat()方法要简便易行(特别是在拼接多个字符串的情况下)。

ECMAScript还提供了三个基于子字符串创建新字符串的方法:slice()、substr()和subs tring()。这三个方法都会返回被操作字符串的一个子字符串,而且也都接受一或两个参数。第一个叁数指定量 字符串的开始位置,第二个参数(在指定的情况下)表示子字符串到哪里结枣。具体来说,slice()和substring()的第二个参数指定的是子字符串最后一个字符后面的位置。而subs tr()的第二个参数指定的则是返回的字符个数。如果没有给这些方法传递第二个参数,则将字符串的长度作为结束位置。与concat()方法一样,slice()、substr()和substring()也不会修改字符串本身的值——它 们只是返回一个基本类型的字符串值,对原始字符串没有任何影响。请看下面的例子:

var stringValue= "hello world";

alert(stringValue. slice(3)); //"lo world"

alert(stringValue.substring(3)); //"lo world"

alert{stringValue.substr(3)); //"lo world"

alert(stringValue.slice(3,7)); //"lo w"

alert(stringValue.substring(3,7)) //"lo w"

alert(tstringValue.substr(3,7)) //"lo world"

这个例子比较了以相同方式调用slice()、substr()和substring()得到的结果,而且多数情况下的结果是相同的。在只指定一个参数3的情况下,这三个方法都返回"lo world",因为"hello"中的第二个"l"处于位置3。而在指定两个参数3和7的情况下,slice()和substring()返回"lo w"("world"中的"o"处于位置7,因此结果中不包含"o"),但substr()返回"lo worl",因为它的第二 个参数指定的是要返回的字符个数。

在传递给这些方法的参数是负值的情况下,它们的行为就不尽相同了。其中,slice()方法会将传人的负值与字符串的长度相加,substr()方法将负的第一个参数加上字符串的长度,而将负的第二个参数转换为O。最后,subs tring()方法会把所有负值参数都转换为0。下面来看例子:

var stringValue= "hello world";

alert(stringValue. slice(-3)); //"rld"

alert(stringValue.substring(-3)); //"hello world"

alert{stringValue.substr(-3)); //"rld"

alert(stringValue.slice(3,-4)); //"lo w"

alert(stringValue.substring(3,-4)) //"hel"

alert(tstringValue.substr(3,-4)) //""空字符串

这个例子清晰地展示了上述三个方法之间的不同行为。在给slice()和substr()传递一个负值参数时,它们昀行为相同。这是因为一3会被转换为8(字符串长度加参数11+(-3)28),实际上相当于 调用了slice (8)和substr(8)。但substring()方法则返回了全部字符串,因为它将一3转换成了o。

南昌网站建设公司技术员提配,IE 的Javascript 实现在处理向substr()方法传递负值的情况时存在问题,它会返回原始的字符串.

当第二个参数是负值时,这三个方法的行为各不相同。slice()方法会把第二个参数转换为7,这就相当于调用了slice(3,7),因此返回"low"。substring()方法会把第二个参数转换为O,使调用变成了substring(3,o),而由于这个方法会将较小的数作为开始位置,将较大的数作为结束位置,因此最终相当于调用了substring(o,3)。substr()也会将第二个参数转换为0,这也就意味着返回包含零个字符的字符串,也就是一个空字符串。

本资料仅限南昌网络公司百恒网络技术部内部人员交流使用,方便内部技术人员学习交流,请勿作其他用途.谢谢支持! 南昌网站建设第一品牌,专业专注于南昌网站设计|南昌网站优化,为用户提供高品质的网络产品和优质的服务是我们始终追求的目标!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×