day06字符串
字符串
字符串可以是插入到引号中的任何字符。你可以使用单引号或双引号。js里面字符串属于一个值类型(值类型是常量 常量是不能变)。字符串是不能改变的。(字符串的增删改查 不能针对于本身 而是返回一个新的字符串)
字符串声明
1,值类型赋值
var str = 'ABC';
2.以new关键词声明(引用了对应的值的地址)var str2 = new String('ABC');
字符串模板
var a =’jack' var str =`hello string ${a}`//esc下面的这个键解析${} 以变量来解析 console.log(str); //hello string jack
字符串的属性
.length : 字符串的长度
var str = "字符串"; console.log(str.length); // 3
通过下标获取字符串
var str="abcdef" console.log(str[2])//b
通过字符串找下标(找不到返回-1 找的到返回对应的下标值 number(第一次出现的))
indexOf
var str = 'abc' console.log(str.indexOf('ab')) //返回的下标0 console.log(str.indexOf('d')) //找不到返回-1 //可以有俩个参数 第一个参数为 对应需要查询的字符串 第二个参数为 开始查找的下标 console.log(str.indexOf('b',2)) //从下标2开始找 找第一个出现b的位置 返回-1 var str = 'abbbccde' console.log(str.indexOf('b',2)) //从下标2开始找 找第一个出现b的位置 2
lastIndexOf
console.log(str.lastIndexOf('b')) //3 console.log(str.lastIndexOf('b',0)) //-1 从0的位置往前找 console.log(str.lastIndexOf('b',4)) //3 //也就是说默认的情况下 对应的后面的下标可以省略 str.length-1
自定义函数实现对应的indexOf方法及对应的lastIndexOf方法
//实现一下对应的indexOf方法 var searchStr = "abcdefabcde" function indexOf(str,index){ if(!index){ //当前如果是undefined的值 index = 0 //默认为0 } //得到str的长度 var len = str.length //这个5是表示当前的字符串的总长度 for(var i=index;i<searchStr.length-len;i++){ var s = '' for(var j=0;j<len;j++){ s+=searchStr[i+j] } if(s==str){ return i } } return -1 } function lastIndexOf(str,index){ if(!index && index!=0){ //当前如果是undefined的值 或者不为0 index = searchStr.length-1 //默认为最后一个 } //得到str的长度 var len = str.length //这个5是表示当前的字符串的总长度 for(var i=index;i>=len;i--){ var s = '' for(var j=len-1;j>=0;j--){ s+=searchStr[i-j] } if(s==str){ return i } } return -1 }
search 方法(和indexOf一样 支持正则表达式)
var str = 'abc' console.log(str.search(/ab/)) //0 /ab/正则表达式 console.log(str.search(/ab/,0)) //从0的位置开始找 匹配ab的内容
静态方法(通过构造方法名直接调用的叫做静态方法 他是对应的static修饰的)
fromCharCode 将对应的ascii码转为字符串
var str = String.fromCharCode(97) //返回的是一个字符串 console.log(str) //a
concat 将多个字符串转为连接成一个字符串返回
var str = 'hello'.concat('world') console.log(str)//hello world
支持正则的方法(4个)
search 查找(找到返回下标 没找到返回-1)
replace 替换 (将找到的第一个字符串替换成一个新的字符串)
var str = 'abca' var str1 = str.replace('a','hello')//将a替换成hello console.log(str1)
split 分割(返回数组)
//分割 成为一个数组 split 数组变成字符串 join (默认以,) var str = '1,2,3' //默认不是以,作为分割 默认不分割 直接填入到数组 console.log(str.split()); //['1,2,3'] console.log(str.split(',')); //['1','2','3']
match 匹配(返回数组)
//match 返回一个数组 (匹配的内容) var str = " abcacc" //默认只找第一个匹配的 加入到数组 var arr = str.match('a') console.log(arr);
截取的方法
substring(开始的下标,结束的下标)
substr(开始的下标,个数)
//截取的方法 substring substr var str = " abcdef" //substring(开始的下标,结束的下标) 不包含结束的下标 console.log(str.substring(1));//bcdef console.log(str.substring(1,3));//截取不包含最后一个下标 (默认不填str.length)bc // substr(开始的下标,截取的个数) console.log(str.substr(1));//默认的情况是截取到最后 bcdef console.log(str.substr(1,3));//从下标1开始截取 截取个数为3个 bcd
转大写 (toUpperCase)
转小写 (toLowercase)
var str = 'abcA' console.log(str.toUpperCase()) var str = 'abcA' console.log(str.toLowerCase())
Math类(数学类 一起和数学计算相关的方法都在这个里面且这个方法都是静态方
法)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律