*****1、String的概念:
什么是字符串:多个字符组成的【只读】字符【数组】
和数组有相同点:
1、字符串中的个数:str.length
2、获取字符串中的某个字符:str[i]
3、遍历字符串
4、所有数组不修改原数组的API,字符串也可以使用(concat、slice)
和数组也有很多不同的地方
所有数组的直接修改原数组的API,字符串都不可以使用,比如排序只有数组可以使用,但是
字符串也有很多很多属于自己的API,等待我们明天学习
***引用/对象类型:11个
*String Number Boolean -> 包装类型
*Array *Function Date(日期) Math(数学) *RegExp(正则:验证)
Error(错误)
*Object(面向对象)
Global(全局对象) - 只不过在浏览器端被window对象给代替了,自然保存着全局变量和全局函数,只不过window可以省略不写,有一天我们回去学习node.js这个后端语言,而在node.js中全局对象就叫做global
***包装类型:专门用于将原始类型的值封装为一个引用类型的对象的
为什么:原始类型的值原本是没有任何属性和方法,意味着原始类型本身是不支持.去做任何操作的但是前辈们发现字符串经常会被我们程序员所操作,为了方便我们程序员所以将这个三人提供了包装类型(提供了属性和方法)
何时使用:只要你试图使用原始类型的变量调用属性或方法的时候,自动包装
何时释放:方法调用完毕后,自动释放包装类型,有变成了一个原始类型的值
为什么null和undefined不能使用. - 因为前辈们没有给他们提供包装类型
2、*****StringAPI:
只有字符串可以使用的函数,不需要我创建,直接使用
1、转义字符:\
作用:
1、将字符串中和程序冲突的字符转为原文
"\"" '\''
2、包含特殊功能的符号:
换行:\n
制表符:\t -> 大空格,跟你敲tab键效果是一样的
3、*输出unicode编码的字符:
汉字的第一个字:\u4e00 - ascii码:19968
汉字的最后一个字:\u9fa5 - ascii码:40869
2、*大小写转换:将字符串中的每个英文字符统一的转为大写 或 小写
何时:只要程序不区分大小写,就要【先统一】的转为大写 或 小写,再比较(做验证码)
如何:
var 大写=str.toUpperCase();
var 小写=str.toLowerCase();
3、获取字符串中的指定位置的字符:
str.charAt(i) === str[i];
4、*获取字符串中的指定位置的字符的ascii码
var ascii=str.charCodeAt(i);
*通过ascii码转回原文:
var 字=String.fromCharCode(ascii码);
5、***检索字符串:检查索引 - 检查下标,获取关键字的下标:
var i=str.indexOf("关键字",starti);
从starti位置开始,查找右侧第一个关键字的第一个字符的位置
starti可以省略,默认从0位置开始查找的
返回值:找到了,返回的第一个关键字的第一个字符的下标位置
*没找到,返回-1,其实我们根本不关心下标为多少,我们只关心下标为不为-1
作用:***判断有没有!
强调:数组也能使用此方法,数组这个方法其实是后期才添加上的,原本此方法只有字符串可用
鄙视题:默认只能获取第一个关键字的下标,如何才能获取到所有的关键字的下标呢?
var str="no zuo no die no can no bibi";
var index=-1;
while((index=str.indexOf("no",index+1))!=-1){
console.log("找到了关键字,下标为:"+index);
}
6、拼接字符串:
var newStr=str.concat(新字符串,...) 还不如+运算
7、*截取字符串:3个
*var subStr=str/arr.slice(starti,endi+1);
.substring(starti,endi+1);
*.substr(starti,n);
8、*替换字符串:
本身这个方法非常的强大,但是由于我们暂时不会使用正则,所以我们只能替换固定的关键字,暂时比较挫
var newStr=str.replace("固定关键字"/RegExp,"新内容");
9、*****切割/分割/分隔字符串:
作用:将字符串切割为数组:str<==>arr
var arr=str.split("自定义切割符")
特殊:
1、切割后,切割符就不在了
2、如果你的切割符写的是"",切散每一个字符
10、去掉空白字符:
str.trim()/str.trimStart()/str.trimEnd() - 垃圾
11、根据我提供的字符串,将每个数据都取出来即可