String

2017-05-22  本文已影响0人  Mr丨qing

5.22字符串学习

 * 15.字符串对象
 * 16.内置对象
 * 17.String API
字符串对象

字符串:由多个字符组成的只读数组
只读:所有API都不能直接修改原字符串,必须返回新字符串
数组:凡是数组中不直接修改原数组的API,字符串都能用!
比如:

  1. 都可用下标访问每个字符:str[i]
  2. .length属性获得字符个数
  3. 获取子字符串: str.slice(starti,endi+1)
var str = 'Hello';
console.log(str[2]);    //l
console.log(str.length);    //5
console.log(str.slice(0,3));    //hel
内置对象

包装类型:专门封装原始类型的值,提供对值进行操作的方法
为什么使用:原始类型的值不带任何操作方法,必须通过包装类型提供对原始类型操作的方法
何时使用:在试图对原始类型的值调用方法时,js会自动创建对应的包装类型对象,封装原始类型的值。
*/

String API

所有API都无法修改原字符串,都会返回新字符串

  1. 大小写转换:
    var newStr=str.toLowerCase(); //全部转小写
    var newStr=str.toUpperCase(); //全部转大写
var newStr = 'Hello';
var rs = newStr.toLowerCase();
console.log(rs);    //hello
console.log(newStr);    //Hello

rs = newStr.toUpperCase();
console.log(rs);    //HELLO
console.log(newStr);    //Hello

2.获取指定位置的字符或unicode:
var char=str[i]
str.charAt(i);
var unicode=str.charCodeAt(i);

    var str = 'Hello';
    var rs = str[1];
    console.log(rs);

    rs = str.charAt(1);
    console.log(rs);

    console.log(newStr.charCodeAt(1));    //101

3.查找关键字的位置:2个API , 返回的都是关键字的位置下标
找下一个匹配的关键字位置:var i=str.indexOf("kword",starti)
如果省略starti,从0开始
找前一个匹配的关键子位置:
var i=str.lastIndexOf("kword",starti);
如果省略starti,从最后一位开始
starti:开始查找的位置
如果没找到,都返回-1

var str = '今天晨跑很爽,明天继续晨跑';
var i = str.indexOf('晨跑',5);
console.log(i);     //11
var j = str.lastIndexOf('晨跑');
console.log(j);     //11
var k = str.lastIndexOf('夜跑');
console.log(k);     //-1

4.获取子字符串:3种:
var sub=str.slice(starti,endi+1); //支持负数
str.substring(starti,endi+1); //不支持负数参数
str.substr(starti,n);

var str = '01234567';
var rs = str.slice(-7,-2);
console.log(rs);    //12345

rs = str.substring(0,4);
console.log(rs);    //0123

rs = str.substr(0,4);
console.log(rs);    //0123

5.切割字符串:
var arr=str.split("分割符");
切割后的数组中不包含分隔符的

var str = '123=456=789';
var arr = str.split('=');
console.log(arr);
console.log(arr[0]);
上一篇下一篇

猜你喜欢

热点阅读