基本包装类型
基本包装类型:String、Number、Boolean
基本包装类型:基本包装类型是特殊的引用类型,具有与基本数据类型对应的引用类型的属性和方法。当基本数据类型以对象的方式使用时,js会转换为对应的包装类型。
一个基本数据类型值(String、Number、Boolean——没有使用new进行创建)想使用某种方法时,后台会创建一个对应的基本包装类型的对象,从而使得基本数据类型能够调用一些方法处理数据。
PS:
var a = new String(‘aaa’)和 var a = 'aaa’的区别
(1)new是运行时创建,’‘编译时创建
(2)new存储在堆,’'存储在内存
function A(){}和var A = function(){}
(1)function A(){}:在编译时,进行变量提升的结果为函数A = 函数体
(2)var A = function(){},在编译时,进行变量提升的结果为A = 引用
基本包装类型和引用类型的区别:生存期不同——基本包装类型在方法执行结束销毁,对象在释放内存销毁
基本包装类型的内部方法其实都是 prototype属性和方法,也可以自己添加
PS:上面三个图片来源于别的博客(忘记是哪个地址了)
match方法:返回一个数组,数组内容为匹配到的字符串
replace方法:替换第一个找到的字符串,只替换一个
如果 只含有一个 参数,他们的效果就相同了,,就是 从索引位置一直到最后
alert(str.slice(2));//.Wang
alert(str.substring(2));//.Wang
alert(str.substr(2));//.Wang
slice()翻译方式:用字符串长度加上负数的值得到的数字
负值:倒数第几个
alert(str.slice(2,-1));//.Wan 7+(-1)=6——》翻译之后是(2,6)
alert(str.slice(-2,-1));//n 翻译之后是(5,6)
alert(str.slice(-2));//ng 同样的翻译道理
substring()翻译方式:只要遇到负数就返回0,如果前面的数字大于后面的数字,就将两个数字调换位置
alert(str.substring(2,-1)); // Mr 翻译结果:(0,2)
substr() 翻译方式:遇到负数直接返回0,但是不会调换位置
alert(str.substr(2,-1)); // 空字符串 翻译结果:(2,0)
PS:在IE下如果 substr() 方法参数传递负值,那么就会返回全部字符串
alert(str.substr(-2));//Mr.Wang
var str =‘Mr.Wang is a good Wang.Wang is a best Wang.’;
alert(str.indexOf(‘Wang’));//3 默认是 索引为0 的位置 开始 搜索的alert(str.lastIndexOf(‘Wang’));//28 默认是从最后开始 搜索的
alert(str.indexOf(‘Wang’,10));//18 第二个参数:开始搜索的 索引位置
alert(str.lastIndexOf(‘Wang’,30)); //23 从索引为 30 的位置 开始 向前面搜索
如果没有找到 搜索字符串 那么就会 返回-1
参考博客:https://blog.csdn.net/weixin_40929761/article/details/80555401