day-9.5 JS自带API(字符串)

大多数API对原变量的值都不会修改,而是返回一个新值。

一、API1 : 获取字符串长度属性

字符串 是基础数据类型,但是字符串是有length属性的。

但是string 的length属性并不是直接存在 这个字符串数据里面,因为字符串数据是一个基础数据类型,基础数据类型在JS里面是不能带属性的。

那为什么我们可以获取到字符串数据的length属性呢,那是因为,在获取字符串的length属性的时候,其实是经历了2个步骤,即先new String () 这个变量之后,再进行length属性的获取。

1 var a = "length";
2 console.dir(a);  // 输出的是 length 
3 console.dir(new String(a)); //输出的是一个string 对象
4 console.log(a.length); //输出6 ;

API2 : 获取字符串的指定字符

可以看出,length属性是存在经过构造函数new String()转换后的对象里,当直接获取的时候,其实是先做了包装对象转换再获取的。

一个汉字也当做一个字符,占一个长度。不分单双字节,只区分字符。

如何获取字符串的指定字符,上图可以看出 经过构造函数转换后的字符串对象,字符的数据类型其实有点像,数组,所以我们可以通过以下写法获取字符串的指定字符。

1 var a = "果果haha";
2 console.log(a[2]); //输出果,不支持低版本;
3 console.log(a.charAt[3]) //输出ha ,支持所有版本浏览器。

 

API3 : 字符串的拼接

string.concat();可以用加号和concat;

比如

1 var a = "aaaa";
2 var b = "bbbb";
3 var c = "cccc";
4 var d = a.concat(b,c);
5 console.log(d); //输出aaaabbbbcccc

 

API4 : 字符串指定字符的UTF-8编码

string.charCodeAt[0];查找第0个字符的charCodeAt编码;

1 var a = "哈123";
2 a.charCodeAt(0);//输出21704,注意,这里下标寻址用的是括号

将对应编码转换成字符的API 

1 var b = 111111111;
2 console.log(String.fromCharCode(b));  //输出 : 毇

API5 : 切割字符串

substring(start,end); 起始下标到终止的下标,含起始,不含结束;

1 var a = "今天天气真好";
2 var b = a.substring(1,4);
3 console.log(b);  //输出:“天天气”;

substr(start,step);起始下标和步数(长度),

1 var a = "今天天气真好";
2 var b = a.substr(1,4); 
3 console.log(b); //输出:天天气真

subslice(start,end);切割的方向也是从左到右,当下标从左为0开始计算时,跟substring 一样。但是subslice还支持下标从右开始数起,当需要取到字符串最后一位时,下标可以不写;

subslice 一般用于字符串较长且不知道长度的情况,可以从尾部取值。

1 var a = "今天天气真好";
2 var b = a.slice(-3,-1);
3 var c = a.slice(-3,);
4 var d = a.slice(1,3);
5 console.log(b); //输出:气真
6 console.log(c); //输出:气真好
7 console.log(d); //输出:天天

API6 :转大小写;

toLowerCase() :转小写;

toLocalLowerCase() :转小写(支持的语言类型多一点);

toUpperCase() :转大写;

toLocalUpperCase() :转大写(支持的语言类型多一点);

API7 : 按照某种特点去切割成数组 ;

例子:

1 var a = "凉凉,呵呵,嘻嘻,嘿嘿,嚜嚜";
2 var b = a.split(",");
3 console.log(b); //输出数组b,每个下标对应的值为原字符串逗号隔开的值;

当string.split("");参数为空字符串(不是空,是"")的时候,会返回每个下标值为字符串单个字符的数组;

当传入的参数值为原字符串没有的字符时,则会将原字符串作为一个整体,将原字符串转成只有一个值的数组;

API8:indexOf 找某个字符的位置;

1 var a = "今天天气真的不错,天气真好";
2       b = a.indexOf(“天气”,6) ;  //查找“天气”的位置,从第六位字符开始找;
3      console.log(b); //输出9,逗号算一个字符;

 

posted @ 2018-06-13 21:49  bibiguo  阅读(200)  评论(0)    收藏  举报