1.创建一个字符串
传统的方式
通过new关键字 来创建的是 一个对象
String对象 来处理字符串
备注: 如果不加new, 单独的String(值),只是将值转换为字符串
var str = new String("y");
console.log(typeof str); //object
字面量的方式
var str_two = 'abcDg';
console.log(typeof str_two); //string
- 字符串中的方法
charAt() 返回指定位置的字符
console.log(str_two.charAt(2)); //c
.length 返回字符串的长度
console.log(str_two.length);//5
charCodeAt(): 返回指定位置的字符 的Unicode编码
console.log(str_two.charCodeAt(3));//68
fromCharCode(): 接受一个UniCode编码, 返回对应的字符串
console.log(String.fromCharCode(68));//D
- replace(): 替换
1.想替换哪个字符串,就用哪个字符串来调用
2.参数1是被替换的目标, 参数2是替换的新内容
3.会将替换后的字符串,整体返回
console.log(str_two.replace("a","A"));//AbcDg
- substring() : 提取 介于两个下标之间的 字符串 包头不包尾 (和数组slice相似)
参数1: 开始下标 参数2: 结束下标
console.log(str_two.substring(0,2));//ab
- substr(): 可在字符串中 从开始位置截取指定长度的字符串 (和数组splice相似)
参数1: 开始位置, 参数2 : 指定长度
console.log(str_two.substr(0,3));//abc
-
split()方法: 用于把一个字符串 分割成字符串数组(本质上就是个数组,只是存的都是字符串罢了)
参数1 : 分割的依据
参数2:(可选参数)分割后 返回的长度
(超出实际大小,按照实际大小算。 小于实际大小的话,按照指定长度返回,超出的不返回)
var s = "Where are you from?"
console.log(s.split(" ",2));//["Where", "are"]
slice(): 方法 可提取指定范围 的字符串
参数1: 开始范围, 参数2: 结束范围 包头不包尾
console.log(s.slice(0,4)); //wher
indexOf(): 方法O可返回指定字符 的对应下标 (首先出现的)
如果没有 : 返回 -1
// 用indexof()去重:
var arr_new= "jintianbucuo";
var arr_two=[];
for (var i=0;i<arr_new.length;i++) {
if(arr_two.indexOf(arr_new[i])==-1){
arr_two.push(arr_new[i]);
}
}
console.log(arr_two.join(""));
lastIndexOf(): 返回指定字符 最后出现的位置
console.log(s.lastIndexOf(' '));//19
需要谁改变,就由谁来调用这个方法
toLowerCase() : 把字符串转换为小写
console.log(s.toLowerCase());
toUpperCase() : 把字符串转换为大写
console.log(s.toUpperCase());
用splice()去重:
function arr(a){
for (var i=0;i<a.length;i++) {
for (var j=i+1;j<a.length;j++) {
if(a[i]==a[j]){
a.splice(j,1);
--j;
}
}
} return a;
}
var d=[4,7,8,4,6,7,2];
console.log(arr(d));
数组的排序:
var arr=[4,7,8,6,2];
for (var i=0;i<arr.length;i++) {
for (var j=i+1;j<arr.length;j++) {
if(arr[i]>arr[j]){
var mm=arr[i];
arr[i]=arr[j];
arr[j]=mm;
}
}
}console.log(arr);