本文实例讲述了js字符串类型String常用操作。分享给大家供大家参考,具体如下:

字符串是不可变的。

对字符串的所有操作都会返回一个新字符串,原字符串不变

在 ie 6-7 时,' abc ' + ' cdf '  如果两个大量的字符串拼接,性能很低,原因是需要开辟新内存 和 创建新变量,导致性能低下,而在ie8 后得到大幅改善。

字符串常用方法

// 创建字符串
var a = new String('123')
var a = '123'

a.length   // => 3, length属性返回字符串字符的个数
a[0]    // => 1, 索引 求指定索引的字符串
// charAt()方法,也是求指定索引的字符串
a.toUpperCase()  // 将字符串全部转为大写, 
// 例:var str = "hello world"; str.toUpperCase()
a.toLowerCase()  // 将字符串全部转为小写, 
// 例:var str = "HELLO WORLD"; str.toLowerCase()

indexOf()        //搜索指定字符串出现的位置,接收两个参数,第一个参数表示要查找的元素,
// 第二个参数表示要查找的位置,若找到则返回对应元素所在的位置,否则返回-1

var s = 'hello world!';
alert(s.indexOf('world')); //返回6
alert(s.indexOf('World')); //返回-1
alert(s.indexOf('o'));  //返回4
alert(s.indexOf('o',6));  //从第六位开始查找,返回7

concat            // 将一个或多个字符串拼接起来,返回拼接到的新的字符串,原字符串不变

var str1 = "hello ";
var res = str1.concat(" world","!");
alert(res);  //返回hello world!
alert(str1);  //返回hello

slice             // 返回被操作字符的子字符串,原字符串不变,
// 接受两个参数,字符串的起始位置和结束位置,返回的字符串不包含结束位置的字符,
// 第一个参数要小于第二个参数,否则返回"",
// 若只有一个参数,返回起始位置到字符串结尾的所有字符串,
// 若传递的参数为负数,将传入的负值与字符创的长度相加

var str = "hello world!";
alert(str.slice(3,7));//返回lo w
alert(str.slice(3));//返回lo world!
alert(str.slice(9,5));//返回""
alert(str.slice(-7,-3));//负数与长度相加,即str.slice(5,9)返回 wor
alert(str.slice(5,9));//返回 wor

substring         // 当传入的参数是正数时,substring与slice的功能基本相同,
// 唯一的区别是当第一个参数大于第二个参数时,方法将第二个参数作为截取的起始位置
// 而将第一个参数作为截取结束的位置,且截取的字符串不包含第一个参数位置对应的值,
// 当传入的参数是负值时,该方法会将所有的负值转化为0

var str = "hello world!";
alert(str.substring(3,7));//返回lo w
alert(str.substring(3));//返回lo world!
alert(str.substring(9,5));//返回 wor,即str.substring(5,9),不包含第九项
alert(str.substring(-7,-3));//负数与长度相加,即str.substring(0,0)返回""
alert(str.substring(-7,3));//负数与长度相加,即str.substring(0,3)返回hel

substr            // 返回指定位置开始的指定长度的字符串,原字符串不变,
// 若第二个参数缺省就一直截取到字符串结束,当传递的参数为负值时,
// 方法会将负的第一个参数与字符串的长度相加,将负的第二个参数转化为0

var s = 'hello world!'
alert(s.substr(0, 5));//从索引0开始,截取5个字符串,返回hello
alert(s.substr(7)); //从索引7开始截取,一直到结束,返回orld!
alert(s.substr(-7,3));//负数与长度相加,即str.substr(5,3),返回 wo
alert(s.substr(-7,-3));//负数与长度相加,即str.substr(5,0),返回""

split             // 基于指定的分隔符将一个字符串分割成多个字符串,并将结果存放在一个数组中,
// 可以传两个参数,第一个参数为分隔符,第二个参数用于指定返回数组的大小,
// 若省略该参数,则返回整个数组

var s = "1,23,45";
var arr1 = s.split(",");
alert(arr1);//返回数组["1","23","45"]
var arr2 = s.split(",",2);
alert(arr2);//返回数组["1","23"]

trim              // 删除元素前置及后缀的所有空格,然后返回结果,原字符串不变

var str1 = "  hello world ";
var str2 = str1.trim();
alert(str1);//返回"  hello world "
alert(str2);//返回"hello world"

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容还可查看本站专题:《JavaScript字符与字符串操作技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。