7.字符串

js字符串的概述

字符串就是一串字符,由单(双)引号括起来。

字符串是JavaScript的一种数据类型

 

 字符串也是一个数据结构(串),将同样的内容串在一块。因为在对应的js里面字符串属于一个值类型(值类型是常量 常量是不能变)。字符串是不能改变的。结合昨天提到的数据结构里面串也是一个存储结构,作为存储结构增删改查的方法(字符串的增删改查 不能针对于本身 而是返回一个新的字符串)

 

字符串的声明

第一种

值类型赋值

var str = "hello world"

第二种

以new关键字声明

var str = new String("abc"); //引用了空值的地址
ES6新增 字符串模板
var a = 'jack'
var str = `hello string ${a}` //esc下面的这个键 解析${} 以变量来解析
console.log(str); //hello string jack

 

字符串的属性

length属性 返回字符串长度

var str = 'a b'
console.log(str.length)//3

通过下标来获取字符串

var str = 'abc'
console.log(str[0]) //a

 

字符串的方法(返回新的字符串)

通过下标找字符串(char 字符)

charAt(下标)

var str = 'abc'
str.charAt(0) //返回的是a

charCodeAt (ACSII码)

var str = 'abc'
str.charCodeAt(0) //返回的是97
通过字符串找下标(找不到返回-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
}
复制代码
静态方法(通过构造方法名直接调用的叫做静态方法 他是对应的static修饰的)

fromCharCode 将对应的ascii码转为字符串

var str = String.fromCharCode(97) //返回的是一个字符串
console.log(str) //a

concat 将多个字符串转为连接成一个字符串返回

var str = 'hello'.concat('world')
console.log(str)//hello world

 

posted @   汪汪队开大会  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示