- 字符串操作方法
(1)concat(‘字符串1’,‘字符串2’…)
var str = 'andy';
console.log(str.concat('red'));//andyred
(2)substr(‘截取的起始位置’, ‘截取几个字符’)
var str1 = '改革春风吹满地';
console.log(str1.substr(2, 2)); // 第一个2 是索引号的2 从第几个开始 第二个2 是取几个字符
2.其他方法
(1)替换字符 replace(‘被替换的字符’, ‘替换为的字符’) 它只会替换第一个字符
var str = 'andyandy';
console.log(str.replace('a', 'b'));//bndyandy
案例
有一个字符串 ‘abcoefoxyozzopp’ 要求把里面所有的 o 替换为 *
var str1 = 'abcoefoxyozzopp';
while (str1.indexOf('o') !== -1) {
str1 = str1.replace('o', '*')
}
console.log(str1);
(2)字符转换为数组 split(‘分隔符’) 前面我们学过 join 把数组转换为字符串
var str2 = 'red,pink,blue'
console.log(str2.split(','));
var str3 = 'red&pink&blue'
console.log(str3.split('&'));
3.数据类型
简单数据类型 null 返回的是一个空的对象 object
var timer = null;
console.log(typeof timer);
(1)如果有个变量我们以后打算存储为对象,暂时没想好放啥, 这个时候就给 null
(2) 简单数据类型 是存放在栈里面 里面直接开辟一个空间存放的是值
(3) 复杂数据类型 首先在栈里面存放地址 十六进制表示 然后这个地址指向堆里面的数据
简单数据类型传参
function fn(a) {
a++;
console.log(a);
}
var x = 10;
fn(x);
console.log(x);
复杂数据类型传参
function Person(name) {
this.name = name;
}
function f1(x) { // x = p
console.log(x.name); // 2. 这个输出什么 ? 刘德华
x.name = "张学友";
console.log(x.name); // 3. 这个输出什么 ? 张学友
}
var p = new Person("刘德华");
console.log(p.name); // 1. 这个输出什么 ? 刘德华
f1(p);
console.log(p.name); // 4. 这个输出什么 ? 张学友