JavaScript 内置字符串操作方法 &&和 简单类型与复杂类型
字符串操作方法
1.concat(str1,str2.str3…)
用于连接两个或多个字符串。拼接字符串,等效于+,+更常用
2.substr(start,length)
从start位置开始(索引号),length取的个数 重点
3.slice(start,end)
从 start开始,截取到end位置,end取不到(两者皆为索引号)
4.substring(start,end)
从start开始,截取到end end取不到 基本和slice相同 但是不接受负值
5.replace(‘被替换掉的字符串’,‘替换的字符串’)
替换字符串 只会替换掉第一个字符
6.split(‘分隔符’)
字符转化为数组
var str3 = ‘a,b,c,f,e’
console.log(str3.split(’,’));
7.toUpperCase()
将字母转化为大写
8.toLowerCase()
转化为小写
//操作字符串
//1.concat('字符串1','字符串2')
var str = 'andy';
console.log(str.concat('red'));
//2.substr('起始位置','取几个字符')
var str1 = '改革春风吹满地改';
console.log(str1.substr(2,2)); //第一个值是开始位置(索引号) 第二个是截取几个字符
//3.slice(start,end)
console.log(str1.slice(1,5));
//4.substring(start,end)
console.log(str1.substring(2,7));
//5.replace('被替换掉的字符串','替换的字符串')
console.log(str1.replace('改','盖')); //只会替换掉第一个
//将'accbccdcc' 的'c'全部换为 'f'
var str2 = 'ccdc';
while (str2.indexOf('c') !== -1){
str2 = str2.replace('c','*');
}
console.log(str2);
//6.split('分隔符')
var str3 = 'a,b,c,f,e'
console.log(str3.split(','));
//7.toUppreCase()
console.log(str3.toUpperCase());
//8.toLowerCase()s
var str4 = 'ABCDEFG';
console.log(str4.toLowerCase());
执行结果
javas 简单类型和复杂数据类型
1.简单类型与复杂类型
简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型。
●值类型: 简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型
string , number,boolean , undefined , null
null 特殊 返回值是一个空的对象 object
用途 如果有个变量我们以后打算存储为对象,暂时没想好放啥,这 个时候就给null
●引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用) ,因此叫做弓用数据类型
通过new关键字创建的对象(系统对象、自定义对象) , 如Object. Array、 Date等
2.堆和栈
1、栈(操作系统) :由操作系统自动分配释放存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈;简单数据类型存放到栈里面
2、堆(操作系统) :存储复杂类型(对象) , -般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。复杂数据类型存放到堆里面
注意: JavaScript中没有堆栈的概念,通过堆栈的方式,可以让大家更容易理解代码的一些执行方式,便于将来学习其他语言
3.简单类型的内存分配
●值类型(简单数据类型) : string , number , boolean , undefined , null
●值类型变量的数据直接存放在变量(栈空间)中
简单数据类型是存放在栈里面里面直接开辟一个空间存放的是值
4.复杂类型的内存分配
●引用类型(复杂数据类型) :通过new关键字创建的对象(系统对象、自定义对象) ,如Object. Array. Date等址复制给了形参,形参和实参其实保存的是同一个堆地址,所以操作的是同一一个对象。
●引用类型变量(栈空间)里存放的是地址,真正的对象实例存放在堆空间中
复杂数据类型首先在栈里面存放地址十六进制表示然后这 个地址指向堆里面的数据
5.简单类型传递参数
函数的形参也可以看做是一个变量 ,当我们把一个值类型变量作为参数传给函数的形参时,实是把变量在栈空间里的值复制了一份给形参 ,那么在方法内部对形参做任何修改,都不会影响到的外部变量。
6.复杂类型传递参数
函数的形参也可以看做是一个变量 ,当我们把引用类型变量传给形参时,其实是把变量在栈空间里保存的堆地址复制给了形参,形参和实参其实保存的是同一个堆地址,所以操作的是同一一个对象。
上一篇: RxJava操作符(六)——功能操作符