//字符串的创建
//1、字面量创建 //typeof string
// var str1="大哥大姐们呐,你们都是有钱的人呐"
// console.log(str1);
// console.log(typeof str1);
//2、构造函数创建 //typeof object
// var str2=new String("我是由构造函数的方式创建的");
// console.log(str2);
// console.log(typeof str2);
//3.省略new关键字,直接创建 //typeof string --->>可以理解成强制类型转换----->>包装类
// var str3=String("我是省略new关键字创建的"+666);
// console.log(str3);
// console.log(typeof str3);
//字符串的属性
//length:和数组一样,有长度,可以遍历。
// var str4="我是字符串我有长度length不信你试试";
// for(var i=0;i<str4.length;i++){ //遍历
// // console.log(i); //控制台输出下标
// // console.log(str4[i]); //控制台舒服每个下标对应的字符
// }
// // console.log(str4[1]); //控制台输出字符串中下标为1的字符
//字符串的方法
//1、toLowerCase():将字符串中的字母全转成小写
// var str5="字符串方法好多呀很烦啊记不住啊ABCDEFG";
// console.log(str5);
// var res=str5.toLowerCase();
// console.log(res);
//2、toUpperCase():将字符串中的字母全转成大写
// var str6 = "字符串方法好多呀很烦啊记不住啊abcdefg";
// console.log(str6);
// var res = str6.toUpperCase();
// console.log(res);
//3、charAt(index):返回指定下标位置的一个字符,如果没有找到,返回空字符串
// var str6 = "字符串方法好多呀很烦啊记不住啊abcdefg";
// console.log(str6);
// var res = str6.charAt(0); //相当于 console.log(str6[0])... str[0]有兼容问题, 在IE低版本浏览器下不支持
// console.log(res);
//4、indexOf 返回一个字符串在原始字符串中的索引值(查找顺序从左往右查找)。如果没有找到,则返回-1;
// var str6 = "字符串方法好多呀很烦啊记不住啊abcdefg";
// console.log(str6);
// var res = str6.indexOf("多"); //从 左 往 右 查找"多",然后返回这个字的下标
// console.log(res);
//5、lastIndexOf:在原始字符串中,从右往左查找。如果没有找到,则返回-1;
// var str6 = "字符串方法好多呀很烦啊多记不住啊abcdefg";
// console.log(str6);
// var res = str6.lastIndexOf("多"); //从 右 往 左 查找"多",然后返回这个字的下标
// console.log(res);
//6、substring():在原字符串,返回一个字符串;不取结束位置,不能给负值会转成0
// var str6 = "字符串方法好多呀很烦啊多记不住啊abcdefg";
// console.log(str6);
// var res = str6.substring(5,1);//第一个参数开始截取的数的下标,第二个参数结束下标(不含结束位置)
// console.log(res);
//7、substr() 从起始索引号提取字符串中指定数目的字符。包含结束位置
//从效果上来说, 区别是一个不包含结束位置, 一个包含结束位置
// var str6 = "字符串方法好多呀很烦啊多记不住啊abcdefg";
// console.log(str6);
// var res = str6.substr(5,1);//第一个参数开始截取的数的下标,第二个参数是字符个数(不是下标)
// console.log(res);
//8、split():将一个字符串切割成若干段,返回一个数组。也就是说将一个字符串转成数组;
//括号里面可以给空字符串, 会把字符串切割成几份
// var str6 = "字符串方法好多呀很烦啊多记不住啊abcdefg";
// console.log(str6);
// var res = str6.split(""); // ["字", "符", "串", "方", "法", "好", "多", "呀", "很", "烦", "啊", "多", "记", "不", "住", "啊", "a", "b", "c", "d", "e", "f", "g"]
// console.log(res);
// console.log(typeof res); //输出是一个对象object.
//9、slice():提取字符串的片断,并在新的字符串中返回被提取的部分;不包括结束位置。给负值时,可以返回倒数第几个
// var str6 = "字符串方法好多呀很烦啊多记不住啊abcdefg";
// console.log(str6);
// var res = str6.slice(0, -3);//输出:字符串方法好多呀很烦啊多记不住啊abcd
// console.log(res);
//10、trim():移除字符串首尾空白;
// var str=" aaa ";
// console.log(str);
// var res=str.trim();
// console.log(res);
//11、concat():连接两个或多个字符串,返回连接后的字符串
// var a="吃饭";
// var b="睡觉";
// var c="打豆豆"
// console.log(a); //输出:吃饭
// console.log(b); //输出:睡觉
// console.log(c); //输出:打豆豆
// var res=a.concat(b,c);
// console.log(res); //输出:吃饭睡觉打豆豆
//12、replace() 替换与正则表达式匹配的子串
var str = "aoaojiao";
var res = str.replace(/[a]/g,"*");
console.log(res); //输出:*o*oji*o